は、このバッチコードを試してみてください。パラメータなしで呼び出された場合
@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 /?
注:パターンにマッチした各ファイルを* .pngファイルに変換するためのパラメータとしてコマンドラインで指定されたフォルダパス内のすべての* .texファイルを検索するようにPythonスクリプトを変更する方がはるかに高速です。
親フォルダを削除できませんか? – aschipfl
[複数のファイルに対してバッチファイルをドラッグアンドドロップする]の可能な複製?(http://stackoverflow.com/questions/1243240/drag-and-drop-batch-file-for-multiple-files) – NineBerry
いいえ、残念ながらそれはありません何もしない。 – SiCapisceUnaSega