Vòng lặp dòng lệnh để chạy lệnh trên tất cả các tệp trong một thư mục (cộng với các thư mục con, nếu có thể


14

Tôi cho rằng điều này khá dễ thực hiện, nhưng tôi không có kinh nghiệm với các tiện ích dòng lệnh của Windows. Về cơ bản, tôi cần lặp lại tất cả các tệp trong một thư mục (thật tuyệt nếu nó có thể thực hiện các thư mục con, nhưng tôi có thể chạy nó trên mỗi 5 thư mục nếu cần), lấy tên làm biến và chạy nó

"C:\Program Files\ImageMagick-6.7.6-Q16\convert.exe" -compress LZW 
   -colorspace Gray -colors 32 file_var file_var

Tôi thấy các tập tin tên động trong một dấu nhắc lệnh cho vòng lặp . Tôi có thể sử dụng điều đó không (hoán đổi SET ... bằng lệnh trên)? Không gian trên máy tính được đề cập vượt quá giới hạn nên tôi không thể thực hiện sao lưu trước khi chạy phần này ở giai đoạn này (xấu, tôi biết).


Robert, nếu bạn đã trả lời được câu hỏi của riêng mình, vui lòng thêm câu trả lời của riêng bạn và chấp nhận nó là câu trả lời đúng.
Julian Knight

Tôi không nghĩ rằng đó là những gì bạn muốn, kết thúc của nó ( "%%f" "%%f") sẽ chỉ đặt tên tệp (với đường dẫn đủ điều kiện) hai lần. Bạn có thể muốn sử dụng một cái gì đó như "%%f" "%%~dpnf.gif"để thay đổi phần mở rộng của tệp đầu ra.
Synetech

@JulianKnight - cảm ơn, tôi thực sự đã cố gắng quay trở lại khi, nhưng tôi nghĩ rằng có một sự chờ đợi bắt buộc để làm như vậy. Loại quên về câu hỏi kể từ đó.
Robert

Câu trả lời:



5

Mở PowerShell

$files = Get-ChildItem -Recurse 
foreach ($file in $files){
    c:\windows\System32\notepad.exe $file.FullName
}

Get-ChildItem lấy danh sách các tệp dưới dạng các đối tượng từ thư mục con hiện tại. "-recurse" sẽ bao gồm các thư mục con. Điều này đặt nó vào một mảng $ Files.

Vòng lặp foreach quay vòng qua từng tệp và gọi notepad bằng đối số dòng lệnh của đường dẫn tên tệp đầy đủ đến từng tệp.

THẬN TRỌNG: Kiểm tra mã trên trong một thư mục với một vài tệp văn bản nhỏ, vì nó sẽ mở ra một phiên bản Notepad cho mỗi tệp.

Điều đó sẽ cho bạn một ý tưởng về cách đi về những gì bạn đang muốn làm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.