Copy the code below into a batch file (i.e. backfill.cmd) - watch for line
wrapping - and then run it from a command prompt window with two parameters:
backfill "E:\backup" "C:\"
This script expands on Pegasus' contribution by processing all of the files
contained within the "huge directory tree" that is C:\backup using the "/R"
switch of the FOR command. It also avoids re-creating any already existing
shortcuts, so you could run it after your subsequent robocopy cleanup runs.
When you are satisfied that the commands being displayed will do the trick,
change "ECHO/shortcut.exe" to "shortcut.exe".
REM -----------------------
@echo off
setlocal
(set _sce=%~dpnx1)
(set _dst=%~dpnx2)
if not defined _dst (
echo/syntax: %~nx0 [folder for files] [folder for shortcuts]
pause
GOTO:EOF
)
for /r b %%A in (*.*) do CALL:SCUT "%%~A"
GOTO:EOF
:SCUT
(set _FILE=%~1)
(call set _SCUT=%%_FILE:%_sce%=%_dst%%%)
for %%B in ("%_SCUT%") do (set _SCUT=%%~dpnB.lnk)
echo/
if exist "%_SCUT%" (
echo/shortcut already exists: "%_SCUT%" & pause
) else (
ECHO/shortcut.exe /F:"%_SCUT%" /A:C /T:"%_FILE%"
)
GOTO:EOF
REM -----------------------
/Al
"JJ" <> wrote in message
news:d6891$4a677784$4801c552$...
> Thanks...I'll give it a try!
>
>
> "Pegasus [MVP]" <> wrote in message
> news:...
>>
>> All you need to do is to invoke shortcut.exe once for each file, giving
>> it the appropriate names each time, e.g. like so:
>> @echo off
>> for %%a in (E:\Backup\*.*) do (
>> echo shortcut /F:"C:\%%~na.lnk" /A:C /T:"%%a" /W:E:\Backup /R:1
>> )
>>
>> Since your description about the source and target folders is rather
>> vague, you may have to tweak the above batch file a little in order to
>> suit your environment. Note also this:
>> - You must test the batch file from the Command Prompt. Do not test it
>> from the Start/Run box.
>> - When you're happy with the result you see, remove the word "echo" in
>> Line 3 in order to activate the batch file.
>>
>>
>> "JJ" <> wrote in message
>> news:80d7d$4a67515d$4801c552$...
>>> Thanks for the reply, Pegasus, but I will be moving thousands of files
>>> and folders and subfolders. A huge directory tree. I don't see an option
>>> in the switches to do all this in one step. Could you give me an
>>> example?
>>>
>>> Say I wanted to move all files not accessed after Jan 1, 2003 from c:\
>>> to f:\Backup. I know how to do this with robocopy. How would I use
>>> shortcut.exe to create shortcuts to all the files moved........in the
>>> locations hat they were moved from....throughout the whole directory
>>> tree?
>>>
>>> ?
>>>
>>> James
>>>
>>> "Pegasus [MVP]" <> wrote in message
>>> news:%...
>>>>
>>>> "JJ" <> wrote in message
>>>> news:ee60$4a67328f$4801c552$...
>>>>> Hi.
>>>>>
>>>>> I am running low on disk space on my server, but need to keep all
>>>>> files available. I would like to create a script that will move files
>>>>> that have not been accessed after a preset date, to an external hard
>>>>> drive, leaving a shortcut where the moved file originally was and
>>>>> pointing to it's new location on the external drive.
>>>>>
>>>>> So far, I have come up with robocopy to move the files by access date,
>>>>> but it doesn't seem to have the ability to leave a shortcut behind.
>>>>>
>>>>> Any ideas would be greatly appreciated!!!
>>>>>
>>>>>
>>>>> Thanks,
>>>>>
>>>>>
>>>>> James Thibault
>>>>
>>>> You could use shortcut.exe from
>>>> http://www.optimumx.com/download/#Shortcut.
>>>>
>>>
>>>
>>
>>
>
>