Tengo un gran proyecto Tengo las secuencias de comandos abajo. El script volca a un archivo .txt una lista de todos los archivos de un tamaño determinado o superior. Luego muevo los archivos a otro disco duro (dependiendo de cómo configuré mi unidad de arranque) y luego borro el original y le hago un enlace simbólico.
Mi objetivo es mover todos los archivos de menos de 512 KB a un SSD y mantener el resto en el RAID.
Lo he probado en Archivos de programa y Archivos de programa (x86) y Usuarios perfectamente. Sin embargo, cuando hago la unidad de Windows obtendré un error de arranque BCD.
Sin embargo, decidí mover mi sistema operativo al RAID y mover todos los archivos al SSD (lo estaba haciendo de la otra manera antes) porque estaba pensando que tal vez el RAID no se carga antes de que los enlaces simbólicos puedan tener lugar.
Lo hice arrancar dejando solo las siguientes carpetas: ensamblaje, todos los archivos en windows \ system32 y syswow64, y boot.
Supongo que podría ser un tipo de prueba y error.
Aquí están los archivos por lotes si alguien está interesado
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
Utilizo un cd de win7rescuepe live con openofficeportable para crear el archivo combine.csv (solo copie y pegue list2.txt en la columna a, realice una búsqueda / reemplazo rápido en la ruta de destino y copie el contenido en la columna b, guárdelo como combinado .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
)