Command Line loop untuk menjalankan perintah pada semua file dalam direktori (ditambah sub direktori, jika mungkin


14

Saya berasumsi ini cukup mudah dilakukan, tetapi saya tidak memiliki pengalaman dengan utilitas baris perintah Windows. Pada dasarnya, saya perlu mengulangi semua file dalam direktori (bagus jika bisa melakukan sub-direktori, tapi saya bisa menjalankannya di masing-masing dari 5 direktori jika perlu), dapatkan nama sebagai variabel, dan jalankan

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

Saya melihat secara dinamis memberi nama file dalam prompt perintah untuk loop . Apakah saya dapat menggunakannya (menukar SET ... dengan perintah di atas)? Ruang pada komputer yang dimaksud tidak terbatas sehingga saya tidak dapat melakukan pencadangan sebelum menjalankan ini pada tahap ini (buruk, saya tahu).


Robert, jika Anda telah berhasil menjawab pertanyaan Anda sendiri, silakan tambahkan jawaban Anda sendiri dan terima jawaban itu sebagai yang benar.
Julian Knight

Saya tidak berpikir itu yang Anda inginkan, akhirnya ( "%%f" "%%f") hanya akan menempatkan nama file (dengan jalur yang sepenuhnya memenuhi syarat) dua kali. Anda mungkin ingin menggunakan sesuatu seperti "%%f" "%%~dpnf.gif"untuk mengubah ekstensi file output.
Synetech

@JulianKnight - terima kasih, saya benar-benar berusaha untuk kembali kapan, tapi saya pikir ada menunggu paksa untuk melakukannya. Agak lupa pertanyaan sejak itu.
Robert

Jawaban:



5

Buka PowerShell

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

Get-ChildItem mengambil daftar file sebagai objek dari subdirektori saat ini. "-recurse" akan mencakup sub-direktori. Ini menempatkannya ke dalam array $ Files.

Lingkaran foreach siklus melalui setiap file dan panggilan notepad dengan argumen commandline dari path nama file lengkap untuk setiap file.

PERHATIAN: Uji kode di atas dalam direktori dengan beberapa file teks kecil, karena akan membuka instance Notepad untuk setiap file.

Itu seharusnya memberi Anda ide tentang bagaimana melakukan apa yang Anda ingin lakukan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.