尝试通过Windows 2008服务器上的cmd提示符运行以下命令时,一切正常。但是,一旦将相同的命令保存到.bat或.cmd文件,脚本就不再有效。
@echo off
set FILE="\\servername\c$\users\users\desktop\test.txt"
FOR %I in (%FILE%) DO set SIZE=%~ZI
IF %SIZE% == 75 (
copy "\\servername\c$\users\users\desktop\test.txt" "\\servername\c$\users\users\desktop\test-1.txt"
del "\\servername\c$\users\users\desktop\test.txt"
) ELSE (
echo "Failure"
)
TIMEOUT /T -1
我不确定会有什么不同,并希望能提供任何帮助。我使用的文本文件中包含以下文本。
"
你好,早上好
我需要这个文件大小。
此文件大小为75
"
答案 0 :(得分:3)
在批量内部脚本中,for
循环的变量需要两个%
符号。
FOR %%I in (%FILE%) DO set SIZE=%%~ZI