batch.bat
次のように実行できるバッチファイルを作成したい
batch.bat output PDF PNG JPG EPS
output.list
を含む生産する
filename1.pdf
filename2.pdf
filename3.pdf
filename4.pdf
filename1.png
filename2.png
filename3.jpg
filename4.eps
最初の2つの引数が唯一の必須の引数であることに注意してください。%1
私の努力は次のとおりですが、新しい出力ファイルを準備するために使用され、何もしない最初の反復で不可避的に再び使用されるため、野蛮なプログラミング手法を使用していると思います。
rem batch.bat
echo off
rem %1 represents the output file name
rem the remaining args represent file extension
dir /b *.%1 > %1.list
for %%x in (%*) do (dir /b *.%%x >> %1.list)
バッチ引数で指定されたファイルのリストを含む出力ファイルを生成するDOSバッチファイルをスマートに作成するにはどうすればよいですか?
編集:
次のコードから呼び出されるので、バッチファイルが必要です。
\documentclass{article}
\usepackage{graphicx}
\newread\myfile
\newcount\TotalFiles
\AtBeginDocument
{
\immediate\write18{IterateFiles.bat \jobname\space pdf png jpg eps}
\openin\myfile=\jobname.list\relax
}
\AtEndDocument
{
\closein\myfile
}
\begin{document}
\makeatletter
\loop
\read\myfile to \mydata
\unless\ifeof\myfile
\filename@parse{\mydata}
\section*{\mydata}
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{\filename@base}
\advance\TotalFiles1\relax
\repeat
\makeatother
\section*{Summary}
There are \the\TotalFiles\ files in total.
\end{document}