Bagaimana cara saya melepaskan ampersand dalam file batch (atau dari baris perintah Windows) agar dapat menggunakan start
perintah untuk membuka halaman web dengan ampersand di URL?
Kutipan ganda tidak akan bekerja dengan start
; ini memulai jendela baris perintah baru sebagai gantinya.
Pembaruan 1 : Solusi Wael Dalloul bekerja. Selain itu, jika ada karakter yang dikodekan URL (mis. Spasi dikodekan sebagai% 20) di URL dan itu dalam file batch maka '%' harus dikodekan sebagai '%%'. Ini tidak terjadi dalam contoh.
Contoh, dari baris perintah ( CMD.EXE
):
start http://www.google.com/search?client=opera&rls=en&q=escape+ampersand&sourceid=opera&ie=utf-8&oe=utf-8
akan menghasilkan
http://www.google.com/search?client=opera
dibuka di browser default dan kesalahan ini di jendela baris perintah:
'rls' is not recognized as an internal or external command,
operable program or batch file.
'q' is not recognized as an internal or external command,
operable program or batch file.
'sourceid' is not recognized as an internal or external command,
operable program or batch file.
'ie' is not recognized as an internal or external command,
operable program or batch file.
'oe' is not recognized as an internal or external command,
operable program or batch file.
Platform: Windows XP 64 bit SP2.
+
apa yang harus saya letakkan di depan untuk menghindarinya?
start "http://www.google.com/search?client=opera&rls=en&q=escape+ampersand&sourceid=opera&ie=utf-8&oe=utf-8"
berfungsi karena PowerShell akan menghapus tanda kutip
start
mana menyebabkan mengutip argumen gagal jika diterapkan tanpa berpikir. Dan secara keseluruhan saya pikir menyertakan argumen dalam tanda kutip lebih mudah dan lebih rentan kesalahan daripada untuk melarikan diri setiap karakter yang perlu melarikan diri di sana.