Saya baru dalam penulisan skrip dan tidak bisa mendapatkan yang ini untuk bekerja. Saya bisa jika saya memindahkan file ke jalur tanpa spasi di dalamnya, tapi saya ingin bekerja dengan ruang itu jika bisa.
Saya ingin mengekstrak banyak pembaruan Office ke folder dengan file .cmd. Untuk membuat file batch dapat digunakan di komputer mana pun, saya menetapkan variabel jalur yang hanya perlu saya ubah di satu tempat untuk menjalankannya di komputer lain. Masalahnya adalah bahwa jalan memiliki spasi di dalamnya. Jika saya menempatkan tanda kutip di sekitar jalur dalam definisi, cmd.exe menempatkannya di sekitar jalur sebelum menambahkan nama file dan sakelar dan batch gagal dengan "Kesalahan sintaks baris perintah." Tanpa tanda kutip, gagal dengan, "tidak dikenali sebagai perintah internal atau eksternal, program yang dapat dioperasikan, atau file batch."
Untuk pengujian, saya menggunakan sakelar bantuan hingga atau jika saya bisa membuatnya berfungsi. Saya dapat melakukannya dengan menggunakan nama file / folder 8,3 (mis. Dokumen Saya sebagai MyDocu ~ 1), tetapi dapatkah itu dilakukan dengan cara yang berbeda?
Jawaban:
Coba sesuatu seperti ini:
sumber
saya menggunakan
saat memperbarui jalur:
sumber
Ada dua opsi di sini. Pertama, Anda dapat menyimpan jalur tanpa tanda kutip dan mengutipnya nanti:
Opsi lain yang dapat Anda gunakan adalah subrutin yang mendukung string yang tidak dikutip (tetapi dalam kasus ini sebenarnya bukan ide yang bagus karena Anda menambahkan tanda kutip, menghapusnya, dan menambahkannya kembali tanpa manfaat):
The
%~1
menghilangkan tanda kutip argumen. Ini berguna ketika memberikan nama folder di sekitar kutipan tetapi, seperti yang dikatakan sebelumnya, dalam kasus khusus ini itu bukan ide terbaik :-)sumber
set LALA=%~1
itulah yang berhasil bagi saya.Coba ini;
buat variabel seperti di bawah ini
Kemudian ganti jalur dengan variabel. Pastikan untuk menambahkan kutipan untuk awal dan akhir
sumber
Saya selalu menempatkan jalur dalam tanda kutip ganda saat saya membuat file .bat. (Saya baru saja menambahkan JEDA sehingga tidak akan menutup layar.)
Sebagai contoh:
sumber
Cara yang tepat untuk melakukannya adalah seperti ini:
sumber
Cara termudah untuk memperbaiki masalah ini adalah dengan memasukkan nama folder dalam tanda kutip:
(cd\New Folder\...) --> (cd\"New Folder"\...)
Semoga ini bisa membantu.
sumber
Jika Anda perlu menyimpan jalur permanen (jalur tidak berubah saat cmd dimulai ulang)
Jalankan Command Prompt as administrator (Klik kanan pada cmd.exe dan pilih run as administrator)
Di cmd
setx path "%path%;your new path"
lalu masukkanPeriksa apakah jalur diambil dengan benar dengan mengetik jalur dan menekan enter
sumber
juga coba tambahkan garis miring ganda seperti ini hanya berfungsi untuk saya
set dir = "C: \\ 1. Beberapa Map \\ Beberapa Map Lain \\ Hanya Karena"
@echo di MKDIR% dir%
OMG setelah posting mereka menghapus yang kedua \ di posting saya jadi jika Anda membuka komentar saya dan itu menunjukkan tiga Anda harus membacanya sebagai dua ......
sumber