List files with path using Windows command line
My folder structure in a drive is like this (in Windows):
Folder 1
Fd1
Fd2
Fd3
Fd4
Fd5
Folder 2
Fd1
Fd2
Fd3
Fd4
Fd5
This arrangement continues for 100s of folders. Inside Fd1 of each Folder x there are certain .bat
files. I am looking for a way to extract a list of .bat
files with entire path using Windows command line to a text file. With little experience of using command prompt I am clueless of how this can be achieved.
I want the output to be a list like this:
............
D:\Folder 1\Fd1\one.bat
D:\Folder 2\Fd2\two.bat
............
Can someone help me?
Solution 1:
If I understand what you are looking for try
dir/s/b *.bat
If that works then redirect it into a text file....
dir/s/b *.bat > textfile.txt
You may also find it useful to have a list of command line switches for the DIR command.
Solution 2:
I'd suggest using the FOR command with the /R switch.
For example, to find all files in and under the current directory, use:
for /r %i in (*) do @echo %i
To start searching from an arbitrary directory, use this form of the command:
for /r "C:\TMP" %i in (*) do @echo %i
And lastly, to look for all batch files under the c:\bin directory, you could do this:
for /r "c:\bin" %i in (*.bat) do @echo %i
One point I should make, however, is that if you are using this command in a batch file, you will need to double the % signs, so these examples will become:
for /r %%i in (*) do @echo %%i
for /r "C:\TMP" %%i in (*) do @echo %%i
for /r "c:\bin" %%i in (*.bat) do @echo %%i
The use of i as the variable here is completely arbitary, and was first implanted in me in my FORTRAN days.