Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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 
)
share|improve this question
2  
You do realize that there are hardlinks in your Windows drive, right? So if you moved WinSxS off to a different drive than System32, for example, it's breaking the links between the files... which may or may not be important, depending on what's happening. –  Mehrdad Mar 7 '11 at 6:06
add comment

3 Answers

well I did move my winsxs and things are working fine. I think they work because the path is still the same, so moving it when there is stuff hardlinked to it should be fine. I was having problems earlier but I think it was because the files failed to copy. I reinstalled and was able to resolve all past issues

As an update. I also didn't move the inf folder

I'm thinking of rewriting the script to automatically skip these folders. I could perform a simple test by using mount points instead of symlinking SOME files to see what's bootable and whats not.

share|improve this answer
    
Hardlinks work with directory entries, not paths, therefore they break when moved to another filesystem. –  grawity Mar 11 '11 at 20:44
add comment

I've rewiped my drive three times now. I decided to have the boot device the SSD because of the folders I have to leave alone (sys32/syswow, inf, etc) I don't want on the RAID due to 4K reads. It works great! It's a really good way to get a faster hd load balanced startup. I also used a free ramdisk tool to mount a ramdisk and assign my temp files to it so my ssd is not wasting time writing temp files and has more throughput available for 4k reads/writes

share|improve this answer
    
Please combine your answers if possible. –  oKtosiTe Mar 8 '11 at 17:23
add comment

like the icon to be displayed. Unlike a Symbolic Link, you cannot "cd ./shortcut-name" in DOS (in Unix/Linux you can "cd ./symlink-name" and it will work just like a real sub-directory

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.