13

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?

2 Answers 2

35

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.

0
5

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .