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?
cd - returns to the previous directory. If you want to go to home dir specifically, use cd , cd $HOME , or cd ~ .
Under Windows-10, go to All Apps, Windows System and the open the Command Prompt window. From the command prompt change directory to the batch file directory: cd \Tutorial\batch. Then type the name of the batch file test_conc followed by Enter.
Just use cd /d %root% to switch driver letters and change directories. Alternatively, use pushd %root% to switch drive letters when changing directories as well as storing the previous directory on a stack so you can use popd to switch back.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With