Saya perlu membuat skrip batch windows di mana saya harus memberikan beberapa argumen baris perintah. Argumen ini dapat muncul dalam urutan apa pun, tetapi skrip harus mengambilnya dengan benar berdasarkan nama argumen. Misalnya:
<scriptname> -age <agevalue> -gender <gender>
<scriptname> -gender <gender> -age <agevalue>
Script dapat dipanggil dengan salah satu dari dua cara di atas, tetapi usia dan jenis kelamin harus diambil dan ditugaskan ke variabel. Argumen dapat diidentifikasi oleh saklar sebelum mereka - yaitu, -age, -gender, dll.
Bisakah seseorang tolong beri saya contoh mengidentifikasi ini secara internal?
windows
batch
command-line-arguments
Dhiwakar Ravikumar
sumber
sumber
if /I "%~1" == "--age" ...
(perhatikan tilde). Ini juga berfungsi untuk parameter atau parameter kosong yang dimasukkan dalam tanda kutip ganda.Bisakah Anda melakukannya dengan Powershell? atau perlu batch? Powershell membuatnya menyenangkan dan mudah, Anda hanya perlu menambahkan sesuatu seperti ini di bagian atas skrip Anda, dan kemudian Anda dapat memanggil setiap parameter dalam urutan apa pun
Anda dapat melakukannya dengan batch, tetapi akan membutuhkan banyak pemeriksaan parameter .. Berikut adalah beberapa tautan dari beberapa skrip batch yang melakukannya
http://www.ericphelps.com/batch/samples/arguments.bat.txt
(Kemungkinan duplikat dari)
/programming/5215729/is-there-a-way-to-pass-parameters-by-name-and-not-by-order-to-a-batch-bat-f
sumber