Gần đây tôi đã bao gồm một dòng tương tự như sau trong một file .cmd:Sự khác biệt giữa% và %% trong một tệp cmd là gì?
for /f %%f in ('dir /b .\directory\*.sql') DO sqlcmd -b -o ".\directory\output\%%f.txt" -i ".\directory\%%f"
Nguyên tôi đã chỉ được sử dụng% f, và nó sẽ làm việc tốt khi chạy trên dòng lệnh, nhưng không phải khi chạy qua các tập tin . Khi tôi chuyển sang %% f, nó hoạt động trong tệp. Chỉ cần tự hỏi sự khác biệt là gì.
Có một lời giải thích cho lý do tại sao tôi có thể nhận được ngay với chỉ sử dụng một ký hiệu phần trăm trong một for loop, khi được thực thi trực tiếp từ dấu nhắc lệnh, chứ không phải từ tệp batch? Tôi biết về di sản DOS, nhưng chúng tôi ** có thể ** sử dụng các biến từ một dòng lệnh ngay bây giờ. –
Ngoài ra, hãy đảm bảo biến là một ký tự đơn. – jiggunjer