我正在尝试从文本文件(逐行)复制给定文件夹中的不同文件,并在行中使用某些特定关键字,但它是从最后一行复制文件。我是批处理脚本的新手,所以我不太了解批处理脚本的语法,我的代码是
@echo off
setlocal disableDelayedExpansion
mkdir events_sorted
for /f "tokens=3-7" %%a in (input.txt) do set id=%%a-%%b-%%c-%%d%%e
for /r /d %%i in (.) do (
cd %%i
copy "%id%-00S.*" "%CD%/events_sorted/"
)
pause
感谢名单
答案 0 :(得分:0)
您需要将for /R
循环嵌套到for /F
循环中,方法是(
放置do
并将)
放在pause
之前id
}。另外,不要将行字符串存储在变量copy
中,只需在cd %%i
命令行中直接使用行字符串即可。此外,请勿使用%%i
,而是立即使用%CD%
而不是@echo off
setlocal EnableExtensions DisableDelayedExpansion
mkdir "events_sorted"
for /F "usebackq tokens=3-7" %%a in ("input.txt") do (
for /R /D %%i in (.) do (
copy "%%a-%%b-%%c-%%d%%e-00S.*" "%%~i/events_sorted/"
)
)
pause
endlocal
exit /B
。这是固定代码:
Polymer 0.x