【问题标题】:How to use a Batch to run a python script and then run that python script on multiple files如何使用批处理运行 python 脚本,然后在多个文件上运行该 python 脚本
【发布时间】:2012-11-19 21:36:05
【问题描述】:

我想知道如何将 BATCH 文件配置为首先运行 python 脚本:example.py(进行查找和替换),然后在根文件夹中的子文件夹中的多个文件上运行脚本.

此外,子文件夹中编辑/更改的文件应删除并与新更改的文件一起保存。

您的帮助将不胜感激。

提前致谢。

【问题讨论】:

    标签: batch-file


    【解决方案1】:

    你可以这样开始:

    for /r [[drive:]path] %a in (*.txt) do example.py "%a"
    

    这将为每个.txt 文件执行example.py,从[[drive:]path] 开始,并递归子目录/r。如果您省略 drive:path,它将从当前目录开始搜索,例如

    for /r %a in (*.html) do example.py "%a"
    for /r C:\ %a in (*.html) do example.py "%a"
    

    第一个示例为当前目录下的每个*.html 文件执行example.py,第二个示例为C:\ 下的每个.html 文件执行example.py

    也可以删除更改的文件,但我们需要更多信息。也许你只需要这个?

    for /r %a in (*.txt) do example.py "%a" temp.tmp & copy temp.tmp "%a"
    

    请记住,如果您在命令提示符下启动此命令,这将起作用。如果你想在批处理文件中使用它(.cmd.bat)你必须使用%%a而不是%a

    【讨论】:

    • 对于 /r 。 %a in (*.txt) do example.py "%a" 所以 .脚本中 /r 后面的代表根文件夹目录?
    • 它代表开始搜索的文件夹...如果您愿意,可以使用 C:\ 或任何其他路径...
    • 所以我将 .txt 更改为 .html 并插入了文件路径和脚本名称,但我得到了一个错误:此时是意外的。请帮帮我。
    • 如何运行这个命令?在批处理文件中还是从提示中?您的根路径是否包含空格?
    • @fthiella:for /r 命令中从来不需要点,当然也不会使用。当这种不常见的 FOR 命令形式开始在批处理文件初学者社区中传播时,您肯定会感到自豪,正如我之前所说的那样...... :-(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多