Estoy tratando de automatizar algunas tareas ... Tengo que hacer un trabajo de desarrollo en una máquina y otras partes en otra máquina, con comunicación a través de un recurso compartido de red.
Me gustaría copiar ciertos archivos, no los directorios completos, que pueden contener muchos elementos de compilación adicionales, algunos de ellos grandes.
Algo como
set source="C:\Users\me\Documents\sourcefolder"
set dest="\\SHARE\FOLDER\me\destfolder"
xcopy %source%+"*.cpp" %dest%
¿Cómo puedo hacer un comando como este? ¿copiar todos los archivos con un patrón dado (como * .cpp) desde el origen al destino?
Además, ¿se puede hacer recursivamente para todas las carpetas dentro de la fuente?
Editar:
Molesto
xcopy "C:\Users\me\Documents\sourcefolder\*.cpp" "\\SHARE\FOLDER\me\destfolder\"
(el primer intento no funcionó porque no sabía que debía hacer un archivo de bat. Gracias Saggio.)
Aún así ... para obtener los mejores resultados, para una estructura de directorios compleja me gustaría poder usar variables y tal vez copiar de forma recursiva, hay muchos directorios que debo copiar.
Además, los patrones que quiero copiar son algo así como "todos los archivos con extensión .cpp, excepto aquellos que comienzan con moc_" o "" todos los archivos con extensión .h, excepto aquellos que comienzan con ui_ "
Podría copiar y luego borrar los que no quiero, supongo ... ¿Pero hay una mejor manera?
move.exe
es x86 y estás en un entorno x64. Ya que funciona ejecutándolo directamente desde la línea cmd, tal vez solo cree un a *.bat
script de archivo en lugar de un ejecutable de pleno derecho?
xcopy %source%\*.cpp %dest%
?