¿Qué comando en Windows emula el comando recursivo mover / renombrar de Unix?
windows
command-line
script
javamonkey79
fuente
fuente

*.*?robocopy "C:\Source Folder" "C:\Destination Folder" /E /COPYALL /XJfuente
Acabo de ejecutar un pequeño ejemplo en mi cuadro de Windows XP SP2 con el comando mover y funcionó. Todos los archivos y directorios se movieron de origen a destino. fuente y dest son nombres de directorio.
mover /? Mueve archivos y renombra archivos y directorios. Para mover uno o más archivos: MOVER [/ Y | / -Y] [unidad:] [ruta] nombre de archivo1 [, ...] destino Para cambiar el nombre de un directorio: MOVER [/ Y | / -Y] [unidad:] [ruta] dirname1 dirname2 [unidad:] [ruta] filename1 Especifica la ubicación y el nombre del archivo o archivos que desea mover. destino Especifica la nueva ubicación del archivo. Destino puede consistir en una letra de unidad y dos puntos, un nombre del directorio, o una combinación. Si te estas moviendo solo un archivo, también puede incluir un nombre de archivo si desea cambiar el nombre del archivo cuando lo mueva. [unidad:] [ruta] dirname1 Especifica el directorio al que desea cambiar el nombre. dirname2 Especifica el nuevo nombre del directorio. / Y Suprime las indicaciones para confirmar que desea sobrescribe un archivo de destino existente. / -Y Provoca que se confirme que desea sobrescribir un archivo de destino existente El modificador / Y puede estar presente en la variable de entorno COPYCMD. Esto puede anularse con / -Y en la línea de comando. El valor predeterminado es para solicitar sobrescrituras a menos que el comando MOVE se ejecute desde dentro de un script por lotes.fuente
El comando XCOPY incorporado está cerca. Hará una copia recursiva, pero no creo que sea compatible con renombrar.
fuente
esto cambiará el nombre del archivo de forma recursiva :-)
guardar en un archivo dar 2 argumentos de extensión y extensión.
Ej: el nombre del archivo es test.bat comando: test * .avi * .bmp
renombra todos los archivos con extensión avi a bmp (en todas las subcarpetas :))
Nota: Esta es una corrección para la publicación respondida el 26 de octubre a las 13:20 por Rob Kam. Él dio por
donde como debería tener %% en lugar de %
fuente
Esto funcionó mejor para mí:
Fuente: http://www.islamadel.com/index.php/notes/6-computer/10-windows-command-line
fuente
Hay puertos de Windows para la mayoría de los comandos de UNIX:
fuente
He creado un script VB que buscará y reemplazará los nombres de directorio ... También tengo una versión de archivos, sin embargo, creo que esto es suficiente para que pueda comenzar con su propio script. La forma en que uso este script es que tengo un
fileandreplacedirs.vbs, y lo pongo en la misma carpeta que las carpetas que quiero renombrar. Además, no necesariamente se repite en la carpeta, pero podría con una pequeña modificaciónfuente
Use un comando simple de DOS.
cd al directorio de origen donde desea cambiar el nombre de las extensiones de archivo de forma recursiva.
Escriba este comando:
fuente
Agregué
if existpara evitar devoluciones de error (es importante en Jenkins para que no rompa una compilación) cuando el archivo no existe en todas las carpetas:Para hacer un cambio de nombre recursivo:
Ejemplo de lote:
fuente
Powershell es tu amigo. No se necesitan archivos por lotes ni scripts. Por ejemplo, para renombrar recursivamente todos los archivos .tiff a .tif en un directorio remoto, puede ejecutar el siguiente comando desde Powershell:
get-childitem "\\\servername\d$\path" -recurse -Include *.tiff | Rename-Item -NewName { $_.Name.replace(".tiff",".tif") }fuente
Encontré este script de Python que también funciona:
Encontrado en: http://gomputor.wordpress.com/2008/09/29/change-the-extension-of-multiple-files-in-a-chosen-directory-with-python/
Agregué Python a mi ruta y puse el script de Python arriba en una carpeta 'utils'. Luego creé este script por lotes simple para ejecutarlo: rn.bat:
También actualicé el script de Python anterior para tomar sus argumentos de la línea de comando. rn.py:
Finalmente, todo lo que hay que hacer ahora es algo como esto:
o
Diviértete con el segundo :)
fuente