2017-03-18 123 views
0

请记住,我是一个新手。拖放多个文件到批处理

我需要将具有.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中。希望你能帮助。

+0

难道你不能放弃父文件夹吗? – aschipfl

+2

[可拖放多个文件的批处理文件?](http://stackoverflow.com/questions/1243240/drag-and-drop-batch-file-for-multiple-files) – NineBerry

+0

不,不幸的是,什么都不做。 – SiCapisceUnaSega

回答

0

试试这个批号:

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

批处理文件不执行任何操作,如果没有所谓的一个参数。

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

另一种解决方案:

@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脚本获取只是文件名与通过命令行参数传递的文件扩展名的当前工作目录。

为了解所使用的命令及其工作方式,请打开命令提示符窗口,在其中执行以下命令,并仔细阅读为每个命令显示的所有帮助页面。

  • call /? ...解释:
    • %~1 ...第一参数而不周围双引号
    • %~dp0 ...驱动器和参数0的路径它是含有结束批处理文件夹的路径带有反斜杠。
  • echo /?
  • for /?
  • goto /?
  • if /?
  • popd /?
  • pushd /?

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

相关问题