将多个文件拖放到批处理中

时间:2017-03-18 13:26:15

标签: batch-file drag-and-drop

请记住,我是新手。

我需要将带有.tex扩展名的244个文件拖放到批处理中,然后创建一个我可以编辑的.png。简单地选择它们并放弃它们并不是在做这个技巧,所以有人给我写了一个我不知道如何正确使用的代码:

for %%f in (*.tex) do c:\python27\python.exe tools/textool.py -x -v -ra %%f

.tex文件都在批处理的同一目录中,位于C:\ users \ myname \ downloads \ folder1 \ folder2 \ folder3中。希望你能帮忙。

1 个答案:

答案 0 :(得分:0)

试试这个批处理代码:

@echo off
if "%~1" == "" goto :EOF
pushd "%~1"
if errorlevel 1 goto :EOF
for %%I in ("*.tex") do C:\python27\python.exe "%~dp0tools\textool.py" -x -v -ra "%%~nxI"
popd

如果没有参数调用,批处理文件不会执行任何操作。

但是如果使用参数调用批处理文件,则不需要验证(可以添加)(第一个)参数指定Python脚本应处理所有* .tex文件的文件夹路径。 / p>

另一种解决方案:

call /?

指定为参数的目录成为此批处理文件的当前工作目录,Python脚本只获取文件名,文件扩展名通过命令行参数传递。

要了解使用的命令及其工作原理,请打开命令提示符窗口,执行以下命令,并完全阅读为每个命令显示的所有帮助页面。

  • %~1 ...解释:
    • %~dp0 ...第一个参数没有包含双引号
    • echo /? ...参数0的驱动器和路径,它是包含以反斜杠结尾的批处理文件的文件夹的路径。
  • for /?
  • goto /?
  • if /?
  • popd /?
  • pushd /?
  • test1

注意:修改Python脚本以查找命令行中指定的文件夹路径中的所有* .tex文件作为参数,将每个找到的匹配模式的文件转换为a * .png文件。