Saya mencoba sesuatu seperti:
set pwd = abc&123
echo password %pwd%
Saya mendapatkan hasilnya sebagai ...
'123' is not recognized as an internal or external command, operable program or batch file.
password abc
Apakah sistem seperti ini atau ada jalan keluar untuk karakter seperti itu?
windows
command-line
batch
deostroll
sumber
sumber
Jawaban:
Yang perlu Anda lakukan adalah membungkus kata sandi Anda dengan tanda kutip ganda seperti:
Biarkan saya tahu bagaimana kelanjutannya.
sumber
set "pwd=abc&123"
Saya menemukan bahwa itu bekerja paling baik dengan kombinasi jawaban martineau dan jawaban mastashake57.
Masih gagal, dan
Menambahkan tanda kutip (Anda tidak dapat menghapus tanda kutip dengan
for
manipulasi loop atau string karena akan gagal lagi, terima kasih kepada ampersand), yang tidak terlalu bagus.Namun,
Bekerja dengan sempurna.
Semoga itu bisa membantu.
sumber
pwd
keabc^&123
. Sebagian besar waktu ini mungkin tepat apa yang perlu Anda lakukan, tetapi itu bisa membuat Anda keluar jika Anda tidak menyadari apa yang terjadi./?
hanya menyediakan ringkasan, bukan dokumentasi yang komprehensif.Dari file bantuan referensi baris perintah:
Sepertinya memasukkan seluruh kata sandi dalam tanda kutip akan lebih mudah daripada melarikan diri karakter individu jika ada lebih dari dua karakter di dalamnya yang membutuhkan perawatan.
sumber
Yang benar-benar Anda butuhkan adalah:
Atau:
Penjelasan:
Karena
&
adalah char khusus, Anda harus menghindarinya^
, menghasilkan^&
.Menjalankan
set pwd=abc^&123
akan mengatur variabel ke nilaiabc&123
. Setelah itu, jika Anda berlariecho %pwd%
, Anda berjalan secara efektifecho abc&123
.Namun
echo abc&123
tidak berfungsi seperti yang Anda harapkan, karena&
ini adalah char khusus. Anda dapat menghindari ini dengan menambahkan tanda kutip:echo "abc&123"
tetapi output Anda akan memiliki tanda kutip juga. Dengan kata lain, menggunakan tanda kutip bukanlah solusi yang tepat.Yang Anda butuhkan adalah untuk menghindari
&
char ketika Anda menjalankanecho
perintah:Jadi variabel perlu mengandung nilai
abc^&123
. Untuk mengatur variabel ke nilaiabc^&123
, Anda harus keluar dari karakter khusus^
dan&
, menghasilkan:sumber