Capturing the current directory from a batch file
Sometimes people go to great lengths to get information which is available in a much simpler way. We saw it a few days ago when we found a 200+-line C# program that could be replaced with a 90-byte batch file. Here’s another example of a rather roundabout way of capturing the current directory from a batch file.
The easy way is to use the
It expands to the current working directory.
set OLDDIR=%CD% .. do stuff .. chdir /d %OLDDIR% &rem restore current directory
(Of course, directory save/restore could more easily have been done with pushd/popd, but that’s not the point here.)
%CD% trick is handy even from the command line.
For example, I often find myself in a directory where there’s
a file that I want to operate on but… oh, I need to
chdir to some other directory in order to perform that operation.
set _=%CD%\curfile.txt cd ... some other directory ... somecommand args %_% args
(I like to use
%_% as my scratch environment variable.)
SET /? to see the other pseudo-variables provided by the