【问题标题】:How to selecting files based on text file and creating bat file?如何根据文本文件选择文件并创建bat文件?
【发布时间】:2019-02-11 14:20:18
【问题描述】:

我需要从文件夹中选择文件。这些特定的文件名列在一个文本文件中。我怎样才能为此目的制作一个 bat 文件来运行?

【问题讨论】:

  • 欢迎,请告诉我们您的尝试?
  • 我正在尝试为 ... 做一些事情并获取文本文件中的第一行。(阅读)... DO ... copy /path/path/firstrow.file /newpath /新路径/
  • 你的答案去哪儿了??我无法阅读我在这里得到的第一个线索。没了?我在哪里可以找到它?
  • 我正在尝试与此类似:示例将文本文件中列出的文件复制到新目标: FOR /f "delims=" %%G in (files.txt) DO copy "\\ source\folder\%%G" "H:\destination\%%G" 但 text.file 中的文件名不包含扩展名。我需要在复制时添加扩展。我该怎么做?
  • Y:\a>FOR /f "delims=*" %%G in (liste.txt) DO echo %%G %%G 此时出乎意料。 Y:\a>FOR /f "delims=*" %%G in (Y:/a/liste.txt) DO echo %%G %%G 此时出乎意料。 Y:\a>FOR /f "delims=*" %%G in (Y:/a/liste.txt) DO echo %%G %%G 此时出乎意料。 Y:\a>more liste.txt number1 number2 number3 Y:\a>FOR /f "delims=" %%G in (files.txt) DO copy "Y:\a\%%G*.all" "Y :\b\%%G*.all" %%G 此时是意外的。 Y:\a>

标签: file batch-file select text


【解决方案1】:

根据您错误地添加到评论区的信息,而不是您的问题(通过edit

来自批处理文件:

@CD /D "Y:\a" 2>Nul||Exit/B
@For /F UseBackDelims^=^ EOL^= %%A In ("liste.txt")Do @Copy /Y "%%A*" "Y:\b">Nul 2>&1

或:

@CD /D "Y:\a" 2>Nul||Exit/B
@For /F UseBackDelims^=^ EOL^= %%A In ("liste.txt")Do @Copy /Y "%%A*" "..\b">Nul 2>&1

但是,从您的 cmets 看来,您正在尝试从命令提示符执行此操作,尽管有 [batch-file] 标记且没有 [cmd] 标记

以您的最后一个示例命令为基础,在命令提示符下您可以使用:

C:\Users\trollgrammer>CD /D Y:\a
Y:\a>For /F "Delims=" %G In (files.txt) Do @Copy /Y "%G*" "Y:\b"

…或

C:\Users\trollgrammer>CD /D Y:\a
Y:\a>For /F "Delims=" %G In (files.txt) Do @Copy /Y "%G*" "..\b"

【讨论】:

  • 非常感谢。是否可以在命令中递归搜索文件?
  • 我的回答是否根据您在评论区发布的代码为您的问题提供了解决方案?如果是,请将其标记为已接受,否则,请将评论中的信息复制到您的问题中,通过edit,并对其进行显着改进,以便会员可以考虑扩展我已经发过了。好像你在问一个新问题,i.e.关于您在问题或后续 cmets 中未提及的事情。如果这是一个新问题,那么就这样问吧,别指望我提供新的解决方案!
猜你喜欢
  • 2021-11-30
  • 2019-06-24
  • 1970-01-01
  • 2010-10-09
  • 1970-01-01
  • 2020-03-28
  • 2018-05-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多