我正在尝试将 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
答案 0 :(得分:1)
对我而言,您似乎已尝试复制代码并将其直接粘贴到控制台中。你可以尝试:
1)将代码保存在批处理文件中并调用它。
2)改变for循环线,如for /f "tokens=*" %G in ('dir *.log /b /a-d /od') do SET newest=%G
由于批处理文件中循环的解析原因需要使用双%
,而在命令行中它们需要是单个。