試試這個批號:
@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文件的參數。
難道你不能放棄父文件夾嗎? – aschipfl
[可拖放多個文件的批處理文件?](http://stackoverflow.com/questions/1243240/drag-and-drop-batch-file-for-multiple-files) – NineBerry
不,不幸的是,什麼都不做。 – SiCapisceUnaSega