I want to create a batch file, batch.bat
, that accepts 2 mandatory arguments:
%1
represents a path relative to the current directory.%2
represents a filaname.Assume the current directory is father\me\
.
User can use this batch as follows:
batch child/grandchild log
batch ../brother log
The job description of batch.bat
is as follows.
%1
directory,*.tex
file in the %1
directory.The following is the incomplete code:
rem batch.bat takes 2 arguments.
cd %1
dir /b *.tex > <original directory>\%2.txt
How to return to the original directory after invoking change directory in DOS batch?
If you want to RETURN to original directory, do the first change with PUSHD
and return with POPD
. That is, moves to %1 directory must be achieved with
PUSHD %1
instead of CD %1, and the return is achieved with
POPD
instead of CD where?
If you want to ACCESS the original directory after changed it, store it in a variable this way:
SET ORIGINAL=%CD%
and use %ORIGINAL% later, for example:
dir /b *.tex > %original%\%2.txt