Por ejemplo, tiene un comando de cambio de nombre en un archivo de proceso por lotes, y desea ejecutar ese archivo en el directorio actual y en todos los subdirectorios.¿Cómo ejecutar un comando de lotes de Windows recursivamente?
Respuesta
Supongamos que el lote se llama algo así como myrename.cmd
, entonces usted puede hacer fácilmente el siguiente:
call myrename.cmd
for /r /d %%x in (*) do (
pushd "%%x"
call myrename.cmd
popd
)
La primera línea se ejecutará por el directorio actual, el bucle for
se repetirá de forma recursiva (/r
) sobre toda directorios (/d
) y ejecutar la parte entre paréntesis. Lo que hacemos dentro de ellos es cambiar el directorio al que estamos iterando actualmente con pushd
-que tiene la buena propiedad de que puede deshacer ese cambio de directorio con popd
-y luego ejecutar el comando, que luego se ejecutará en el directorio acabamos de cambiar a.
Esto supone que el lote se encuentra en algún lugar de la ruta. Si no es así y simplemente se encuentra donde yace el archivo de proceso por lotes, puede usar
"%~dp0myrename.cmd"
muchas gracias –
¿Qué significa el último bit? –
@VirgilIerubino: ¿Qué fue lo último? La parte con '% ~ dp0'? Ver 'help for' para una explicación. – Joey
- 1. ¿Cómo establecer el directorio de trabajo de un comando en un archivo por lotes de Windows?
- 2. Comando para eliminar recursivamente todos los directorios .svn en Windows
- 3. Configurar la herramienta Eclipse para ejecutar un comando de Windows
- 4. Cómo ejecutar el comando shutdown de cygwin en Windows
- 5. Ejecutar un comando por lotes ventanas de Jenkins, pero no funciona muy bien en cmd.exe
- 6. Archivo por lotes para ejecutar un comando en cmd dentro de un directorio
- 7. Eliminar recursivamente archivos de 0 KB mediante Windows cmd
- 8. Ejecutar un script por lotes de Windows para iniciar varios archivos
- 9. Cómo ejecutar un script por lotes (archivo .bat) desde eclipse
- 10. Ejecutar comando de línea de comando desde NSIS
- 11. ¿Cómo ejecutar un archivo por lotes desde Java?
- 12. Ejecutar un comando de línea de comandos desde CruiseControl.NET
- 13. Cómo eliminar archivos recursivamente
- 14. ¿Cuánto demora ejecutar un archivo por lotes?
- 15. Script por lotes de Windows: ¡realice un comando si dos archivos son iguales!
- 16. ejecutar comando/script al bloquear/desbloquear la estación de Windows?
- 17. Cómo ejecutar un script de shell de Unix desde Windows
- 18. ¿Comando inactivo en archivo por lotes?
- 19. ¿Cómo ejecutar un comando de Windows desde el complemento de Firefox?
- 20. ¿Cómo puedo hacer un aviso "¿estás seguro?" En un archivo por lotes de Windows?
- 21. ¿Cómo ejecutar un comando sin sudo?
- 22. Ejecutar un comando después de la desinstalación
- 23. ¿Cómo concatenar cadenas en un archivo por lotes de Windows?
- 24. Comando por lotes de Windows para mover todas las carpetas en un directorio con excepciones
- 25. ejecutar un archivo por lotes desde C#
- 26. la forma de ejecutar varios comandos por lotes en secuencia
- 27. ejecutando un comando por lotes a través del trabajo SSIS
- 28. Cómo ejecutar un comando de shell desde un script php
- 29. Ejecute el archivo por lotes como un servicio de Windows
- 30. Ayuda por lotes de Windows para configurar una variable desde la salida del comando
¿Tiene un ejemplo concreto? –
Use PowerShell en su lugar. :-) –
Vea también: http://stackoverflow.com/a/25381530/99777 – joeytwiddle