在多个文本文件上运行批处理文件

时间:2014-11-07 14:25:07

标签: batch-file

我有一个简单的批处理文件,用于删除桌面上批处理文件指定的文本文件的前26行。

more +26 "data (1).txt" >"data (1).txt.new"

move /y "data (1).txt.new" "data (1).txt"

我希望能够在具有类似命名约定的多个文本文件上运行此操作,例如data (1).txtdata (2).txtdata (3).txt,文件数量每周波动到周。

我还希望程序能够在其实际位置搜索文件,而不必将文本文件带到桌面以便能够运行它。

感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:0)

@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir\one"
FOR %%a IN ("%sourcedir%\*(*).txt") DO (
 ECHO(MORE +26 "%%a" GTR "%%a.new"
 ECHO(MOVE /y "%%a.new" "%%a"
)

GOTO :EOF

您需要更改sourcedir的设置以适合您的具体情况。

所需的MORE / MOVE命令仅用于ECHO用于测试目的。 在您确认命令正确后,将ECHO(MOVE更改为MOVE并将ECHO(MORE更改为MORE以实际处理文件。添加>nul以取消1 file moved上的报告消息(例如MOVE)并将GTR更改为>上的MORE

这假设您知道哪个目录包含文件,并且要处理的文件符合模式*(*).txt。如果要求实际上是data(*).txt,则将*(*)更改为。{/ p>