How can I copy the names of files in a directory to a text file or to a clipboard?
1As mentioned by hochl, you do not give the operating system name... but the word "batch" refer implicitly to that famous "W"... :S– climenoleMar 1, 2012 at 17:15
Possible duplicate of Create file/folder list– Dmitry GrigoryevJan 17, 2018 at 15:54
1If you are ok with the full file path, hold down shift, right click on your highlighted files/folders, and choose "Copy as path". This will give you the full path of all selected files/folders in the clipboard.– JoshAug 1, 2018 at 17:50
It's very, very easy in the Windows Command-Line Interpreter (all Windows OSes):
- Open a command prompt (Start -> Run ->
- Navigate (
cd) to the directory whose files you want to list.
dir > output_file_name(e.g.,
dir > C:\dir.txt) and press Enter.
Open the newly created text file (
C:\dir.txt) and you'll have the complete output of the
dir command in that directory.
The greater than symbol (
>) signifies output redirection; it sends the output from most commands to a file you specify and is very handy for being able to log output from commands.
The output can be controlled with all the various options available for customizing the normal output of the DIR command; just add the output redirection at the end of whatever arguments you want to send that output to the text file.
Update: Creating a right-click context menu for creating directory contents listing
Create a batch file and save it as
@echo off set dirpath=%1 dir %dirpath% /-p /o:gn > "%dirpath%\DirContents.txt" exit
Create a new shortcut pointing to
DirList.bat and call it whatever you please.
Now, right clicking on any directory and selecting the
SendTo sub-menu will present your new command for listing directory contents.
NOTE: This will only work when right-clicking on a directory, and it will only list the contents of the directory you right-clicked on. It also saves the list to that directory (to avoid overwriting other files). The script could be easily modified to change where the output list file is stored.
4I guess you're missing the
/bswitch. Without it additional info such as file sizes and creation dates will also be logged to file.– BhargavMar 1, 2012 at 16:49
It really depends on what he wants recorded. I used the most simple set so as not to confuse with additional info. You'll see I added information that the output can be customized with all the available options of the DIR command. Mar 1, 2012 at 16:52
What I like to do is create a .bat file containing the command:
dir > dir.txt. Then I can copy that file to any folder, run it, and get the text file listing right there, without opening a command prompt and navigating folders. Mar 1, 2012 at 17:46
That would work. There may even be ways to integrating this functionality into the right-click context menu. Mar 1, 2012 at 18:23
This link has instructions for printing a list, but it could be easily modified. I'll see if I can put something together this afternoon: watchingthenet.com/… Mar 1, 2012 at 18:26
You can use
dir /b > files.txt from the command-line to get the list of filenames stored into
files.txt. Add a
/s if you want a recursive listing.
To place the contents directly onto the clipboard, just pipe the output to
clip, i.e execute
dir /b | clip.
Since you did not mention an operating system, here is how it is working on *nix:
$ find . -maxdepth 1 -type f > /tmp/files.txt
for files in the current directory or
$ find . -type f > /tmp/files.txt
if you want to get all files in a directory tree.
Another Unix variant would be
ls -R > myfile.txt
This would list everything in the current directory and recursive directories.
I had a Google drive folder of audio clips that needed to be put into a web-archive. To do that, I needed a spreadsheet of the complete file paths.
Writing a Google script to list the files into a Google spreadsheet didn't work because of timeouts due to the large number of files.
So I downloaded the folder and combined the answers above to list the files and folders in an easy-to-process list that could be pasted into Excel and manipulated further:
dir /s /b > filelist.txt
If you don't add the
/b option, it groups files by the sub folder and using that data in Excel becomes cumbersome
From Windows' file explorer, create a shortcut in the SendTo folder and type the following command:
%windir%\system32\cmd.exe /k dir /b "%1"
remove the "Start in" text
After the command was run once, you can change the defaults for the window (such as selction with mouse, instead of Edit → Mark).
The only problem is that you will need to ignore the first line (that says "file not found").