
Estoy intentando establecer una consulta sin papel y almacenar todos los datos de los pacientes electrónicamente. Ya he creado 8000 carpetas (1 - 8000) y ahora necesito mover aproximadamente 16000 archivos .pdf a las carpetas correspondientes, por ejemplo, "202 Medical Aid Card", "202 Dr Referral", "202 Sick Note" deben moverse a carpeta "202". Todos los archivos se almacenan en una carpeta.
Gracias de antemano.
Respuesta1
Si tu situación esesosimple, entonces deberías continuar emitiendo comandos del sistema operativo similares al siguiente:
MOVE 202* 202\
Etcétera.
Respuesta2
Ampliando la otra respuesta actual a esta pregunta:
Abra un nuevo documento de texto en un editor de texto plano (por ejemplo, el Bloc de notas de Windows) y copie las siguientes instrucciones por lotes:
FOR /L %%G IN (1,1,8000) DO ( MOVE ".\%%G *" ".\%%G\" )
Guarde este archivo como ex.
sort_files.bat
.Coloque este
.bat
archivo en la misma carpeta que los archivos que desea ordenar.Ejecútelo
sort_files.bat
haciendo doble clic en él o ejecutándolo desde la línea de comando.
Advertencias
.\%%G *
asume el formato de nombre de archivo ej.202 Medical Aid Card
. Si pierde el espacio (es decir.\%%G*
), sus archivos NO se ordenarán correctamente y terminará con unenormedolor de cabeza (¡así que no hagas esto! =P)..\%%G\
asume que sus carpetas existentes están en el mismo directorio que sus archivos. Si no es así, reemplácelo.
con la ruta real al directorio de su carpeta (por ejemploC:\path\to\folder\directory\%%G\
).En la expresión
(1,1,8000)
, el último valor (p. ej.8000
) determina cuántos bucles se procesan en total. Es posible que desee considerar reducirlo(1,1,8000)
a un número manejable (por ejemplo,(1,1,10)
) inicialmente para probar su archivo por lotes (y verificar los resultados) antes de comprometerse con(1,1,8000)
.
Notas
%%G
es la variable por lotes utilizada para contar el ciclo. Se reemplaza con un número a medida que se procesa el bucle. EntoncesMOVE ".\%%G *" ".\%%G\"
se convierte en ex.MOVE ".\1 *" ".\1\"
.En el comando
MOVE ".\%%G *" ".\%%G\"
:Técnicamente, las comillas sólo son necesarias si la ruta contiene espacios (por ejemplo
".\%%G *"
), pero se utilizan tanto en la ruta de origen (.\%%G *
) como en la de destino (.\%%G\
) para mantener la coherencia..
es una forma abreviada de decir "el directorio actual".*
es un comodín. Entonces ej..\%%G *
se traduce como "cualquier archivo en el directorio actual que comience con%%G
(por ejemplo1
), seguido de un espacio y cualquier otro carácter (*
)".
Referencias