【问题标题】:Windows script to perform operation on each file in directory对目录中的每个文件执行操作的 Windows 脚本
【发布时间】:2012-10-17 09:36:15
【问题描述】:

我是 Windows 脚本的绝对初学者,我需要执行以下操作:(

for /f %%f in '..\dir\'
# Create a text file titled '\dir\filename.bat', containing " xxxx <filename> xxxx"

完成后,我将运行同时创建的所有批处理文件

cd ..\dir
for /f %%f in * do
start cmd.exe /C '%%f.bat'

如果有人能告诉我如何进行文件创建部分并验证其余代码,我将不胜感激。

【问题讨论】:

  • 这看起来很像家庭作业。你到底想达到什么目的?

标签: windows scripting batch-file cmd


【解决方案1】:

我不确定你想在这里做什么......

如果你想创建一个文件,你可以回显该行并将其附加到一个文件中(如果该文件不存在,它将被创建)......所以对于你问题的第一部分。

cd \dir
for /f %%f in ('dir /b') do (
    echo "xxxx %%f xxxx" >> %%f.bat
    echo "second line of file if required.." >> %%f.bat
    echo "repeat for as many lines as you need.." >> %%f.bat
)

不知道为什么要同时运行所有文件...如果同时打开很多图块,它们很可能会引起问题...

如果你能准确地解释你需要做什么会更有帮助,这样人们也许可以提供更好的方法来实现最终结果。

编辑

我已经更改了上面的代码,以便它可以工作(我已经测试过,它可以满足您的需要)。

【讨论】:

  • 我现在已经修复了代码......我的工作日快结束了,结果发现到处都有很多语法/拼写错误......谢谢你指出不过,否则我可能永远都不会意识到。
  • 不过,使用for %%f in (*) do (...) 不是更容易吗? ;)
  • 是的,仔细想想你可能是对的。我只是避免使用通配符(我想不出什么原因)。但它提供了另一种选择。
猜你喜欢
  • 1970-01-01
  • 2010-09-15
  • 2015-02-01
  • 2010-11-21
  • 1970-01-01
  • 1970-01-01
  • 2014-11-15
  • 2012-05-02
  • 1970-01-01
相关资源
最近更新 更多