批处理脚本仅从给定文本文件的最后一行复制文件

时间:2017-04-03 05:21:58

标签: batch-file file-copying

我正在尝试从文本文件(逐行)复制给定文件夹中的不同文件,并在行中使用某些特定关键字,但它是从最后一行复制文件。我是批处理脚本的新手,所以我不太了解批处理脚本的语法,我的代码是

@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

感谢名单

1 个答案:

答案 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