Computer Hope

Microsoft => Microsoft DOS => Topic started by: zask on September 25, 2016, 11:14:52 AM

Title: List all files and directories that are above the current file into a text file.
Post by: zask on September 25, 2016, 11:14:52 AM
Hello I need a batch file to recursively List every file on the computer from directories above, I have found web pages explaining how to recursively list files down folders, as well as copying files up one folder. But never recursively listing files up folders. Is this possible? It seems like it could be? Let me give an example.

I have a batch file named "list.bat" in the folder

"C:\folder1\folder2\folder3\folder4\folder5"

I want this Batch file to list every file by a wildcard (with the directory attached) from above its current directory. Then send the out put to a text file.

Example; the result of the output in the text file should be something like this.

"C:\folder1\folder2\folder3\folder4\some_file.exe"
"C:\folder1\folder2\folder3\folder4\another_file.txt"
"C:\folder1\folder2\folder3\file3.png"
"C:\folder1\folder2\file4.vbs"
"C:\folder1\file5.whatever"
"C:\lastfile.whatever"

It should be the equivalent of recursively listing files down folders backwards.

Thank you :)
Title: Re: List all files and directories that are above the current file into a text file.
Post by: Geek-9pm on September 25, 2016, 11:35:03 AM
Why? What purpose would this serve?
But, if your really want to.
DIR /B shows are things in the current directory
http://www.computerhope.com/dirhlp.htm
Above shows the other options also.
So then,  DIR /B /AD    would be just directories.
The command CD .. goes up one level
That should be enough for you to do it yourself.
Title: Re: List all files and directories that are above the current file into a text file.
Post by: Salmon Trout on September 25, 2016, 01:17:57 PM
In your title you say list all files and directories but in your question you just say list every file. Which is it?
Title: Re: List all files and directories that are above the current file into a text file.
Post by: Salmon Trout on September 25, 2016, 01:22:02 PM
This walks up the tree to the root folder, starting at the next folder up, listing files (drive, path, name and extension) by wildcard in each folder as it goes. Redirect to text file if desired.

@echo off
for %%A in ("%cd%") do set topfolder=%%~dA\
:start
cd..
for %%A in (*.*) do echo %%~dpnxA
if "%cd%"=="%topfolder%" goto root
goto start
:root


Run from C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\folder8\folder9

Output:

C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\folder8\text1.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\folder8\text2.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\folder8\text3.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\folder8\text4.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\folder8\text5.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\folder8\text6.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\folder8\text7.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\folder8\text8.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\folder8\text9.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\text1.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\text2.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\text3.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\text4.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\text5.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\text6.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\text7.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\text8.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\text9.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\text1.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\text2.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\text3.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\text4.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\text5.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\text6.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\text7.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\text8.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\text9.txt
C:\folder1\folder2\folder3\folder4\folder5\text1.txt
C:\folder1\folder2\folder3\folder4\folder5\text2.txt
C:\folder1\folder2\folder3\folder4\folder5\text3.txt
C:\folder1\folder2\folder3\folder4\folder5\text4.txt
C:\folder1\folder2\folder3\folder4\folder5\text5.txt
C:\folder1\folder2\folder3\folder4\folder5\text6.txt
C:\folder1\folder2\folder3\folder4\folder5\text7.txt
C:\folder1\folder2\folder3\folder4\folder5\text8.txt
C:\folder1\folder2\folder3\folder4\folder5\text9.txt
C:\folder1\folder2\folder3\folder4\text1.txt
C:\folder1\folder2\folder3\folder4\text2.txt
C:\folder1\folder2\folder3\folder4\text3.txt
C:\folder1\folder2\folder3\folder4\text4.txt
C:\folder1\folder2\folder3\folder4\text5.txt
C:\folder1\folder2\folder3\folder4\text6.txt
C:\folder1\folder2\folder3\folder4\text7.txt
C:\folder1\folder2\folder3\folder4\text8.txt
C:\folder1\folder2\folder3\folder4\text9.txt
C:\folder1\folder2\folder3\text1.txt
C:\folder1\folder2\folder3\text2.txt
C:\folder1\folder2\folder3\text3.txt
C:\folder1\folder2\folder3\text4.txt
C:\folder1\folder2\folder3\text5.txt
C:\folder1\folder2\folder3\text6.txt
C:\folder1\folder2\folder3\text7.txt
C:\folder1\folder2\folder3\text8.txt
C:\folder1\folder2\folder3\text9.txt
C:\folder1\folder2\text1.txt
C:\folder1\folder2\text2.txt
C:\folder1\folder2\text3.txt
C:\folder1\folder2\text4.txt
C:\folder1\folder2\text5.txt
C:\folder1\folder2\text6.txt
C:\folder1\folder2\text7.txt
C:\folder1\folder2\text8.txt
C:\folder1\folder2\text9.txt
C:\folder1\text1.txt
C:\folder1\text2.txt
C:\folder1\text3.txt
C:\folder1\text4.txt
C:\folder1\text5.txt
C:\folder1\text6.txt
C:\folder1\text7.txt
C:\folder1\text8.txt
C:\folder1\text9.txt
C:\1920x080-lugarescoloridos.jpg
C:\1920x1080-black.jpg
C:\1920x1080-grey1.jpg
C:\2-Japanese_Cats.jpg
C:\Au-Japanese-Cats.jpg
C:\backgroundDefault.jpg
C:\backtest.bat
C:\Black1920x1080.jpg
C:\bootmgr
C:\Japanese_Cats.jpg
C:\Logon001.jpg
C:\lugarescoloridos1.jpg
C:\Network.ico
C:\Reflect_Install.log
C:\rescuepe.log
C:\script.txt
C:\shutdown-nas.txt
C:\temp.txt
C:\treemake.bat
C:\vbsedit32.dll
C:\vbsedit64.dll
C:\white.bmp
C:\WSClient.log
C:\WSServer.log

Title: Re: List all files and directories that are above the current file into a text file.
Post by: foxidrive on September 25, 2016, 03:43:56 PM
I was a bit baffled by the request but then a light bulb turned on.

Code: [Select]
@echo off
for /f "tokens=1,2 delims=\" %%a in ("%cd%") do dir "%%a\%%b" /b/s/a-d>filelist.txt
Title: Re: List all files and directories that are above the current file into a text file.
Post by: zask on September 25, 2016, 04:02:54 PM
Thanks this is exactly what I was looking for, also I apologize for the way I titled the post, I couldn't think of another explanation in English to put in the small subject box in a way that I could have understood. The reason I need this is because I'm trying to take each file from above directories, and compare the size of the files to the size of files that are in below directories. 
Quote from: Salmon Trout "link=topic=158278.msg953172#msg953172 date=1474831322
This walks up the tree to the root folder, starting at the next folder up, listing files (drive, path, name and extension) by wildcard in each folder as it goes. Redirect to text file if desired.

@echo off
for %%A in ("%cd%") do set topfolder=%%~dA\
:start
cd..
for %%A in (*.*) do echo %%~dpnxA
if "%cd%"=="%topfolder%" goto root
goto start
:root


Run from C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\folder8\folder9

Output:

C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\folder8\text1.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\folder8\text2.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\folder8\text3.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\folder8\text4.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\folder8\text5.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\folder8\text6.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\folder8\text7.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\folder8\text8.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\folder8\text9.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\text1.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\text2.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\text3.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\text4.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\text5.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\text6.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\text7.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\text8.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\folder7\text9.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\text1.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\text2.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\text3.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\text4.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\text5.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\text6.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\text7.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\text8.txt
C:\folder1\folder2\folder3\folder4\folder5\folder6\text9.txt
C:\folder1\folder2\folder3\folder4\folder5\text1.txt
C:\folder1\folder2\folder3\folder4\folder5\text2.txt
C:\folder1\folder2\folder3\folder4\folder5\text3.txt
C:\folder1\folder2\folder3\folder4\folder5\text4.txt
C:\folder1\folder2\folder3\folder4\folder5\text5.txt
C:\folder1\folder2\folder3\folder4\folder5\text6.txt
C:\folder1\folder2\folder3\folder4\folder5\text7.txt
C:\folder1\folder2\folder3\folder4\folder5\text8.txt
C:\folder1\folder2\folder3\folder4\folder5\text9.txt
C:\folder1\folder2\folder3\folder4\text1.txt
C:\folder1\folder2\folder3\folder4\text2.txt
C:\folder1\folder2\folder3\folder4\text3.txt
C:\folder1\folder2\folder3\folder4\text4.txt
C:\folder1\folder2\folder3\folder4\text5.txt
C:\folder1\folder2\folder3\folder4\text6.txt
C:\folder1\folder2\folder3\folder4\text7.txt
C:\folder1\folder2\folder3\folder4\text8.txt
C:\folder1\folder2\folder3\folder4\text9.txt
C:\folder1\folder2\folder3\text1.txt
C:\folder1\folder2\folder3\text2.txt
C:\folder1\folder2\folder3\text3.txt
C:\folder1\folder2\folder3\text4.txt
C:\folder1\folder2\folder3\text5.txt
C:\folder1\folder2\folder3\text6.txt
C:\folder1\folder2\folder3\text7.txt
C:\folder1\folder2\folder3\text8.txt
C:\folder1\folder2\folder3\text9.txt
C:\folder1\folder2\text1.txt
C:\folder1\folder2\text2.txt
C:\folder1\folder2\text3.txt
C:\folder1\folder2\text4.txt
C:\folder1\folder2\text5.txt
C:\folder1\folder2\text6.txt
C:\folder1\folder2\text7.txt
C:\folder1\folder2\text8.txt
C:\folder1\folder2\text9.txt
C:\folder1\text1.txt
C:\folder1\text2.txt
C:\folder1\text3.txt
C:\folder1\text4.txt
C:\folder1\text5.txt
C:\folder1\text6.txt
C:\folder1\text7.txt
C:\folder1\text8.txt
C:\folder1\text9.txt
C:\1920x080-lugarescoloridos.jpg
C:\1920x1080-black.jpg
C:\1920x1080-grey1.jpg
C:\2-Japanese_Cats.jpg
C:\Au-Japanese-Cats.jpg
C:\backgroundDefault.jpg
C:\backtest.bat
C:\Black1920x1080.jpg
C:\bootmgr
C:\Japanese_Cats.jpg
C:\Logon001.jpg
C:\lugarescoloridos1.jpg
C:\Network.ico
C:\Reflect_Install.log
C:\rescuepe.log
C:\script.txt
C:\shutdown-nas.txt
C:\temp.txt
C:\treemake.bat
C:\vbsedit32.dll
C:\vbsedit64.dll
C:\white.bmp
C:\WSClient.log
C:\WSServer.log

Title: Re: List all files and directories that are above the current file into a text file.
Post by: zask on September 25, 2016, 04:07:22 PM
.
Title: Re: List all files and directories that are above the current file into a text file.
Post by: foxidrive on September 25, 2016, 04:38:57 PM
I'm trying to take each file from above directories, and compare the size of the files to the size of files that are in below directories.

Here's a tip.  Never say you want to do anything other than what you really want to do.

So many people don't understand that programming solves a task and asking questions about related stuff often just wastes people's time.  They then need to answer more questions to solve the problem. 

I harp on about this because it happens so often.
Title: Re: List all files and directories that are above the current file into a text file.
Post by: zask on September 25, 2016, 04:53:22 PM
Ah, okay I will keep that in mind, I did not realize that it was an issue, I will try to be as specific as possible the next time. I appreciate the help.

Here's a tip.  Never say you want to do anything other than what you really want to do.

So many people don't understand that programming solves a task and asking questions about related stuff often just wastes people's time.  They then need to answer more questions to solve the problem. 

I harp on about this because it happens so often.
Title: Re: List all files and directories that are above the current file into a text file.
Post by: patio on September 25, 2016, 06:16:42 PM
Another tip...in future please refrain from quoting previous Posts...

You do it all the time for no apparent reason...
Title: Re: List all files and directories that are above the current file into a text file.
Post by: zask on December 07, 2016, 01:54:16 PM
Another question, changed to code a little, i was wondering if there was a was to make it avoid specific folders. for example the temp folder.

if "%cd%=="%temp% goto skip_directory

@echo off
for %%A in ("%cd%") do set topfolder=%%~dA\
:start
cd..
for %%A in (*.*) do echo %%~dpnxA
for /r %%B in (*.*) do echo "%%B"
if "%cd%"=="%topfolder%" goto root
goto start
:root

when i added the new line of code, it made it very difficult to avoid the directory, or at least i dont know how.