Welcome guest. Before posting on our computer help forum, you must register. Click here it's easy and free.

Author Topic: List all files and directories that are above the current file into a text file.  (Read 4525 times)

0 Members and 1 Guest are viewing this topic.

zask

    Topic Starter


    Intermediate

    • Experience: Experienced
    • OS: Other
    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 :)

    Geek-9pm


      Mastermind
    • Geek After Dark
    • Thanked: 1026
      • Gekk9pm bnlog
    • Certifications: List
    • Computer: Specs
    • Experience: Expert
    • OS: Windows 10
    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.

    Salmon Trout

    • Guest
    In your title you say list all files and directories but in your question you just say list every file. Which is it?

    Salmon Trout

    • Guest
    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

    « Last Edit: September 25, 2016, 01:35:29 PM by Salmon Trout »

    foxidrive



      Specialist
    • Thanked: 268
    • Experience: Experienced
    • OS: Windows 8
    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

    zask

      Topic Starter


      Intermediate

      • Experience: Experienced
      • OS: Other
      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

      « Last Edit: September 25, 2016, 04:24:33 PM by zask »

      zask

        Topic Starter


        Intermediate

        • Experience: Experienced
        • OS: Other

        foxidrive



          Specialist
        • Thanked: 268
        • Experience: Experienced
        • OS: Windows 8
        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.

        zask

          Topic Starter


          Intermediate

          • Experience: Experienced
          • OS: Other
          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.

          patio

          • Moderator


          • Genius
          • Maud' Dib
          • Thanked: 1769
            • Yes
          • Experience: Beginner
          • OS: Windows 7
          Another tip...in future please refrain from quoting previous Posts...

          You do it all the time for no apparent reason...
          " Anyone who goes to a psychiatrist should have his head examined. "

          zask

            Topic Starter


            Intermediate

            • Experience: Experienced
            • OS: Other
            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.