Dalam file batch, apakah saya harus melakukan (misalnya) yang berikut ini?
@echo off
call other.bat %1 %2 %3 %4 %5 %6 %7 %8 %9
windows
scripting
batch-file
Roger Lipscombe
sumber
sumber
Jawaban:
File batch Windows (sejak Windows XP, tetapi mungkin sebelumnya) mendukung
%*
konstruk, yang mengevaluasi semua parameter dari% 1 dan seterusnya.Sayangnya, ini tidak menghormati
SHIFT
perintah, jadi yang berikut tidak akan berfungsi:Itu masih akan meneruskan parameter pertama ke file batch kedua.
sumber
%*
mempertahankan spasi / kutipan.Anda dapat mengumpulkan semua argumen menggunakan sesuatu seperti:
Ini berfungsi terlepas dari berapa banyak argumen yang ada.
sumber
Jika Anda ingin melewati 3 parameter pertama, misalnya, dan meneruskan sisanya:
Mungkin ada masalah dengan kutipan dalam parameter.
kudos to Patrick Cuff, /programming/382587/how-to-get-batch-file-parameters-from-nth-position-on
sumber
Ya mereka melakukanya.
Anda dapat menulis contoh Anda sebagai berikut:
Juga: shift didukung di windows ... Lihat ini .
Tapi memang, tautan terakhir itu mengkonfirmasi bahwa shift tidak berfungsi dalam kombinasi dengan% *:
sumber
sumber
call other.bat
dengan parameter yang diberikan :( Di mana saya menulis "other.bat"? Apakah mungkin untuk menghapus "Indeks parameter untuk mengekstraksi "permintaan? Juga,cls
tidak diperlukan dalam solusi akhir.