Saya ingin dapat memeriksa apakah folder tertentu (FolderA) ada dan jika demikian, untuk pesan yang akan ditampilkan dan kemudian file batch yang akan keluar.
Jika FolderA tidak ada, saya kemudian ingin memeriksa apakah folder lain (FolderB) ada. Jika FolderB tidak ada, pesan harus ditampilkan dan folder harus dibuat, dan jika FolderB ada, pesan harus ditampilkan dengan mengatakan demikian.
Adakah yang tahu tentang kode yang bisa saya gunakan pada notepad untuk membuat file batch yang memungkinkan saya melakukan ini?
Semua ini perlu dilakukan dalam satu .bat
file.
windows
batch-file
pengguna3179825
sumber
sumber
Jawaban:
Coba gunakan ini:
Ganti yourfilename dengan nama file Anda.
Untuk direktori, lihat https://jeffpar.github.io/kbarchive/kb/065/Q65994/ ini
trailing backslash ('\') tampaknya cukup untuk membedakan antara direktori dan file biasa.
sumber
if exist "c:\folder\nul" echo ok
tidak bekerja untuk saya di Windows 7. Yang berhasil adalahif exist "c:\folder\" echo ok
.if exist "networkPath\nul"
dapat secara salah melaporkan file sebagai folder pada drive jaringan Windows. Sayangnya, merekaif exist "networkPath\"
mengalami masalah yang sama. Lihat pembaruan 2015-12-08 di stackoverflow.com/a/8669636/1012053 untuk teknik yang dapat diandalkan di semua pengujian saya.if exist c:\Windows\nul echo ok
mengatakanok
, tetapiif exist "c:\Windows\nul" echo ok
tidak mengatakan apa-apa. Seperti yang saya katakan, sementaraif exist "c:\Program Files\nul" echo ok
tidak mengatakan apa-apa,if exist "c:\Program Files\" echo ok
mengatakanok
dan dengan demikian bekerja bahkan untuk jalur dengan ruang.Saya pikir jawabannya ada di sini (mungkin duplikat):
Bagaimana cara menguji apakah file adalah direktori dalam skrip batch?
Ganti% VAR% dengan direktori Anda. Harap baca jawaban asli karena menyertakan perincian tentang penanganan spasi putih pada nama folder.
Seperti yang dikatakan foxidrive, ini mungkin tidak dapat diandalkan pada windows kelas NT. Ini bekerja untuk saya, tetapi saya tahu ada beberapa keterbatasan (yang dapat Anda temukan di pertanyaan yang dirujuk)
harus cukup untuk windows modern.
sumber
if exist "c\:folder\" echo folder exists
E:\NUL