I have a huge project. I got the scripting down. The script dumps to a .txt file a list of all files under or over a certain size. I then move the files to another hd (depending on how I setup my boot drive) and then delete the original and make a symlink to it.
My goal is to move all files under 512KB to an SSD, and keep the rest on the RAID.
I've tried it on Program Files and Program Files (x86) and Users perfectly. However, when I do the Windows drive I'll get a BCD boot error.
However, I decided to move my OS to the RAID and move all the files to the SSD (I was doing it the other way before) because I was thinking maybe the RAID isn't loaded before the symlinks can take place.
I've gotten it to boot by leaving alone the following folders: assembly, all files in windows\ system32, and syswow64, and boot.
I guess it might just be a trial and error type thing.
Here are the batch files if anyone is interested
filesize.bat
@Echo Off
SetLocal EnableDelayedExpansion
set maxbytesize=1048576
for /f "tokens=*" %%A in ('dir /a-d /b /s') DO (
If %%~zA GTR %maxbytesize% (
echo %%A
)
) >> list2.txt
I use a win7rescuepe live cd with openofficeportable on it to create the combine.csv (just copy and paste list2.txt to column a, do a quick search/replace to the destination path, and copy the contents to column b, save as combined.csv).
transfer.bat
echo off
SetLocal EnableDelayedExpansion
Set n=
Set m=
for /f "tokens=1,2* delims=," %%A in (combined.csv) DO (
Set /a n+=1
Set /a m+=1
echo %%A
echo %%B
echo F|xcopy %%A %%B /Y /f > nul
IF EXIST %%B DEL %%A
IF EXIST %%B MKLINK %%A %%B
)