Copy singel file to multiple directories

I have a file that i'd like to copy to thousands of different folders, obviously this process would be very time consuming, so i'm looking for either a program that allows me to select lots of folders at once and send the file to these folders, or perhaps a command that will work in the command prompt. I'd also like to be able to send a single folder to multiple folders.

Anyone know a way to do this?
LVL 1
VeggersAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
oBdAConnect With a Mentor Commented:
This will copy the specified file only to the bottoms/leaves of a given directory tree. Simply adjust the settings at the beginning.
Note that the script is currently in test mode, it will only display the copy command it would otherwise issue, so that you can check if it works for you.

===8<----[Copy2Bottom.cmd]----
@echo off
setlocal
:: *** Directory to start in:
set RootDir=D:\Test
:: *** File to be copied:
set CopyFile=D:\Temp\test.txt

for /f "delims=" %%a in ('dir /s /b /a:d "%RootDir%"') do (
  set SubDir=%%a
  call :process
)
goto leave

:process
set TestDir=
for /f "delims=" %%a in ('dir /b /a:d "%SubDir%"') do set TestDir=%%a
if not "%TestDir%"=="" goto :eof
:: *** We're at the bottom of a directory tree:
echo Copying to "%SubDir%" ...
:: *** Test mode: remove the "ECHO" at the beginning of the next line to "arm" the script:
ECHO copy "%CopyFile%" "%SubDir%"

goto :eof

:leave
echo Done.
===8<----[Copy2Bottom.cmd]----
0
 
sirbountyCommented:
How are the directories laid out?  Are these all the subfolders in one folder, or are they scattered?
0
 
VeggersAuthor Commented:
They are a little scattered, there is one main folder, and the folders go four directories deep (if that makes sense; folder, in a folder, in a folder, in a folder). It doesn't matter if the file ends up in all the folders, starting from the root folder, as long as the file makes its way to the folders at the bottom of the tree. Hopefully this makes sense.
0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
mightypeoCommented:
Generate a list of the target folders in a text file (i.e. targetdirs.txt)
Then use the for command (builtin) to copy your file, with a line like this (this assumes that the directories are one per line in targetdirs.txt)
for /F %i in (targetdirs.txt) do copy <name of file> %i\<name of file at destination>

dir /b /s [folder] >targetdirs.txt

can be used to generate the file with the target directories
0
 
sirbountyCommented:
Well, if it doesn't matter if they go in all of them, then this should work:

Assuming the file - myfile.txt is in C:\MyFolder and you want it in Folder1, Folder2, Folder3, Folder4, Folder1\Folder11, Folder2\Folder21, etc...??

From the command line (start->Run->CMD)

FOR /R %a in (.) do copy .\myFile.txt %a
0
 
VeggersAuthor Commented:
mightypeo,
This would be useful, but it would take a long time to make a list of the target directories, so is not really visable.

sirbounty,
Tried the command, not sure if its me doing it wrong, but for each folder i get the following error message:

F:\folder>copy .\awe.txt F:\folder\New Folder (3)\New Folder (2)\.
The syntax of the command is incorrect.

The command i used was to test it, using a file called awe.txt, copied to some arbitary new folders. The line i typed was:

F:\folder> FOR /R %a in (.) do copy .\awe.txt %a

It was successful in copying to only the root folder, i.e. F:\folder.

Any suggestions?
0
 
mightypeoCommented:
how many folders are we talking about ? have you tried the dir /s /b command. ? I was able to list a few thousand directories on one of our servers that way.

0
 
sirbountyCommented:
Try enclosing the last %a in quotes (due to long file names)
0
 
sirbountyConnect With a Mentor Commented:
FOR /R %a in (.) do copy .\myFile.txt "%a"

should do it..
0
 
VeggersAuthor Commented:
mightypeo,
This will list them, but is there any way to copy the text the command prompt produces (probably my lack of knowledge)

sirbounty,
Thank you, this did work, however if it is possible to copy to the root directories as oBdA has described, this would be possible.

oBdA,
Tried this script, after the 'call process' line, i get the following error message:
Invalid attempt to call batch label outside of batch script
Any ideas why?

0
 
oBdACommented:
Something went wrong with copy and paste. Copy the complete content between, but excluding the cut lines ("===8<----[Copy2Bottom.cmd]----"), save it someplace as Copy2Bottom.cmd (or whatever you want to name it).
Then adjust the root directory and the file to be copied.
Try again.
If it shows the proper commands, remove the "ECHO" where indicated.
0
 
VeggersAuthor Commented:
Your right, i was doing it wrong! The script woked perfectly, thanks for all the help. I owe you one, this should cut down my work load significantly.

Thanks for all the help guys.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.