Saya baru-baru ini menyertakan baris yang mirip dengan ini di file .cmd:
for /f %%f in ('dir /b .\directory\*.sql') DO sqlcmd -b -o ".\directory\output\%%f.txt" -i ".\directory\%%f"
Awalnya saya hanya menggunakan% f, dan ini akan bekerja dengan baik saat dijalankan pada baris perintah, tetapi tidak saat dijalankan melalui file. Saat saya beralih ke %% f, ini berfungsi di file. Hanya ingin tahu apa bedanya.
batch-file
cmd
Tyler
sumber
sumber
Di DOS Anda tidak dapat menggunakan variabel lingkungan pada baris perintah, hanya dalam file batch, di mana mereka menggunakan
%
tanda sebagai pembatas. Jika Anda menginginkan%
tanda literal dalam file batch, misalnya dalam sebuahecho
pernyataan, Anda perlu menggandakannya.Ini dibawa ke Windows NT yang mengizinkan variabel lingkungan pada baris perintah, namun untuk kompatibilitas mundur Anda masih perlu menggandakan
%
tanda Anda dalam file .cmd.sumber