批处理脚本执行错误" %% G未被预期"

时间:2018-01-16 20:03:44

标签: batch-file

我正在尝试将 D:\ Temp \ ABC_logs 文件夹中的最新日志文件复制到 D:\ Temp \ ABC_logs \ latest 。以下是代码

@echo off

set source=D:\Temp\ABC_logs
set dest=D:\Temp\ABC_logs\latest
pushd "%source%"
for /f "tokens=*" %%G in ('dir *.log /b /a-d /od') do SET newest=%%G

copy "%newest% "%dest%"
popd

当我尝试执行上面的代码时,我得到一个错误,说%% G不是预期的。请让我知道可能导致它的原因。

谢谢, RK

1 个答案:

答案 0 :(得分:1)

对我而言,您似乎已尝试复制代码并将其直接粘贴到控制台中。你可以尝试:

1)将代码保存在批处理文件中并调用它。

2)改变for循环线,如for /f "tokens=*" %G in ('dir *.log /b /a-d /od') do SET newest=%G

由于批处理文件中循环的解析原因需要使用双%,而在命令行中它们需要是单个。