首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >批处理脚本仅从给定文本文件的最后一行复制文件

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

Stack Overflow用户
提问于 2017-04-03 13:21:58
回答 1查看 303关注 0票数 1

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

代码语言:javascript
复制
@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

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-04-03 13:44:26

您需要将for /R循环嵌套到for /F循环中,方法是将(放在do之后,并将)放在pause之前。此外,不要将行字符串存储在变量id中,只需在copy命令行中直接使用行字符串即可。此外,不要使用cd %%i,而应立即使用%%i而不是%CD%。下面是固定的代码:

代码语言:javascript
复制
@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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43176997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档