我有以下批处理脚本,当我运行它时,它会抛出一个错误:
@echo Off
cls
for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /format:list') do set datetime=%%I
set datetime=%datetime:~0,8%-%datetime:~8,6%
set AGFILE=C:\vendor\My Work\file.txt"
if exist %AGFILE%
(
echo "file exists"
copy %AGFILE% %AGFILE%.%datetime%
)
当我运行脚本时,出现语法错误。如何修复复制部分的语法错误?
答案 0 :(得分:0)
你写了
if exist %AGFILE%
(
echo "file exists"
copy %AGFILE% %AGFILE%.%datetime%
)
但这是语法错误。 IF
为true时所采取的操作必须与IF
令牌位于同一行。这很容易解决:
if exist %AGFILE% (
echo "file exists"
copy %AGFILE% %AGFILE%.%datetime%
)
哪个有效,因为(
开始一个复合语句,只是在IF
的同一行开始就足够了。同样,如果您需要在此类代码中使用ELSE
,则通常需要在一行中编写) ELSE (
。