Entonces, estoy estudiando un curso en línea que tiene cientos de sub conferencias. Necesito descargar el código fuente de cada conferencia en una subcarpeta correspondiente. Con más de 120 conferencias, crear una subcarpeta una por una es un proceso minucioso.
Aquí está mi estructura de carpetas actual:
¿Hay alguna manera de crear todas estas subcarpetas a la vez, junto con el nombre correcto, a través de un archivo por lotes o algo similar?
windows-7
windows
script
batch-file
Manish Giri
fuente
fuente
Respuestas:
¿Cómo puedo crear todas estas subcarpetas a la vez, usando mi esquema de nombres?
Para crear las subcarpetas (subdirectorios) en un directorio específico (que no es el directorio actual), puede realizar una de las siguientes acciones:
cd C:\Dropbox\Development
primero omd Lec-%%i
comando amd C:\Dropbox\Development\Lec-%%i
.Nota:
mkdir
es sinónimo demd
y puede usarse en su lugar.A continuación muestro ambas alternativas, primero desde un
cmd
shell (línea de comando), y segundo usando un archivo por lotes.Como beneficio adicional (aunque no se solicitó en la pregunta original) también hay una
bash
alternativa de shell.De una
cmd
concha:o
De un archivo por lotes:
O
Notas:
9
es el número de inicio Cambiar si es necesario.1
Es el paso. No cambies esto.120
El número final. Cambie, si es necesario, el número del último directorio que necesita.Para crear archivos en otro directorio, puede
cd C:\Dropbox\Development\Lec-%%i
primero omd
comando amd C:\Dropbox\Development\Lec-%%i
.¿Hay alguna manera de hacer algo similar para Mac OSX desde el terminal Mac?
De una
bash
concha:O (para una versión más portátil)
Otras lecturas
fuente
C:\Dropbox\Development
tuviera que crear las subcarpetas en un directorio específico, como , ¿necesitaríacd
primero ese directorio? ¿Asumiendo que estoy usando elcmd
shell? Y muchas gracias!cd
a la carpeta.md Lec-%%i
amd C:\Dropbox\Development\Lec-%%i
md
por qué no usarmkdir
en Windows? De esa manera es consistente con * nix y una diferencia menos para que la gente recuerde.Hay otra manera fácil, para un número limitado de carpetas. Puede ser útil aquí o para alguien más.
En Windows podemos crear nombres de carpetas numerados creando una carpeta "lec (1)" y copiar y pegarla cuantas veces queramos, si pegamos 10 veces habrá 11 carpetas con los nombres "lect (1)" a "lec ( 10) - Copiar "
El único truco aquí es que la primera carpeta debe incluir paréntesis (n), donde n es el número desde donde comienza la numeración.
Windows incluye "- copiar" en y del nombre de la carpeta pegada "lec (1) - Copiar" :(
Si no le gusta, simplemente seleccione todo y cambie el nombre de lec (1) -> lec- (1) o cualquier cosa.
Se ajustarán todos los nombres de las carpetas y se eliminará "- copy";)
fuente
Esto no será mejor que un script para su escenario particular, pero es bueno saber esto cuando los nombres de sus carpetas no están relacionados: puede crear múltiples directorios desde la línea de comandos separándolos por un espacio:
fuente
Puede encontrar que si crea carpetas numeradas con este nombre, no se mostrarán en el orden de clasificación adecuado (esperado):
El problema es que la parte del número de los nombres de las carpetas es de ancho variable, lo que afecta la forma en que se ordenan las carpetas.
Si es importante para usted que las carpetas estén ordenadas correctamente, use el archivo por lotes a continuación para crear carpetas con la parte numerada de los nombres de carpeta rellenados con "0" (ceros) para que todos los números tengan la misma longitud, de esta manera:
Aquí está el archivo por lotes:
fuente
Lec-10
siguientesLec-9
.2
lo que se colocará antes de10
lo que cabría esperar (si observa la captura de pantalla del OP, 9 también se ordena antes de la 10). Sólodir
sufre de ese problema y las necesidades de0
los acolchados, pero el PO no sabía mucho acerca de la línea de comandos, así que no creo que sea un problemadir
las carpetas de listas están fuera de servicio. Windows Como usted y un afrazier mencionaron, el Explorador de Windows ordenará / enumerará las carpetas correctamente, pero el OP estaba buscando unabatch
solución, lo que significa que (muy probablemente) trabajarán desde elcommand prompt
.Puede ejecutar este archivo por lotes en la misma carpeta que los archivos. Cada archivo se moverá a una carpeta del mismo nombre.
Lo uso con una advertencia a continuación para evitar el uso accidental.
fuente
En primer lugar, no leí todo su problema ... pero, por lo que puedo entender, desea cambiar el nombre de las carpetas en función de la lista ... bueno, hay dos métodos
Método 1 : si no tiene una lista de carpetas ... hay una solución alternativa ... debe ir a macOS con este árbol de carpetas ... y simplemente copiar el árbol de carpetas completo ... Lo que hará macOS es que copien contenido así como la lista de todas sus carpetas en términos de lista también ... ahora pegue TextEdit o cualquier software similar al Bloc de notas.
-Ahora supongo que tiene esa lista de carpetas con usted ... solo necesita un software de terceros para hacer el trabajo (ahora todos los pasos son para Windows) https://www.rename-expert.com -En términos Para usar este software, tenía que crear una nueva carpeta, una nueva carpeta-2, una nueva carpeta-4 todo lo que quisiera.
-Ahora en Rename Expert hay una opción para renombrar carpetas desde la base de la lista.
-Boom estás listo.
Método 2: si desea crear una copia espejo de todo el árbol de carpetas sin archivos.
-Beyond Compare es el software que lo necesitas. https://www.scootersoftware.com/support.php?zz=kb_copyfolderstructure
fuente