我正在尝试编写一个脚本来搜索给定目录,查找以.ready_go扩展名结尾的文件,然后将它们保存(将rar保存为文件名.rar)然后转到具有相同扩展名的下一个文件并做同样的事情。
我没有幸运地为循环中找到的文件名指定变量“filename”。此变量将用于命名rar存档
到目前为止,这就是我所拥有的:set dSource=C:\users\admin\desktop\one
set dTarget=\\filesrv1\archives
set fType=*.ready_go
for /f "delims=" %%f in ('dir /a-d /b /s "%dSource%\%fType%"') do (
set filename=%%f
echo %filename%
echo %dsource%
pause
)
它回显dsources变量很好,但不会回显文件名变量。
我也试过“echo %% f”,这也没用。
一些帮助将不胜感激。感谢。
答案 0 :(得分:0)
您需要使用延迟扩展,因为您在循环内设置变量。
试试这个:
setlocal enabledelayedexpansion
set dSource=C:\users\admin\desktop\one
set dTarget=\\filesrv1\archives
set fType=*.ready_go
for /f "delims=" %%f in ('dir /a-d /b /s "%dSource%\%fType%"') do (
set filename=%%f
echo !filename!
echo %dsource%
pause
)