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.
- Moves to
%1
directory, - Iterates all
*.tex
file in the%1
directory. - Save the result in the directory before moving.
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?
Best Answer
If you want to RETURN to original directory, do the first change with
PUSHD
and return withPOPD
. That is, moves to %1 directory must be achieved withinstead of CD %1, and the return is achieved with
instead of CD where?
If you want to ACCESS the original directory after changed it, store it in a variable this way:
and use %ORIGINAL% later, for example: