xcopiar archivo, cambiar nombre, suprimir mensaje "¿xxx especifica un nombre de archivo..."
Esto parece bastante simple y tal vez simplemente esté pasando por alto el indicador adecuado , pero ¿cómo podría, con un comando, copiar un archivo de un directorio a otro y cambiarle el nombre en el directorio de destino? Aquí está mi comando:
if exist "bin\development\whee.config.example"
if not exist "TestConnectionExternal\bin\Debug\whee.config"
xcopy "bin\development\whee.config.example"
"TestConnectionExternal\bin\Debug\whee.config"
Me indica lo siguiente cada vez:
¿TestConnectionExternal\bin\Debug\whee.config especifica un nombre de archivo o de directorio en el destino (F = archivo, D = directorio)?
Quiero suprimir este mensaje; la respuesta es siempre F
.
yo suelo
echo f | xcopy /f /y srcfile destfile
para sortearlo.
No uses el xcopy
, úsalo copy
en su lugar, no tiene este problema.
xcopy
se usa generalmente cuando se realizan copias recursivas de múltiples archivos/carpetas, o cuando necesita las funciones de verificación/solicitud que ofrece. Para copias de un solo archivo, el copy
comando funciona bien.
Otra opción es utilizar un comodín de destino. Tenga en cuenta que esto solo funciona si los nombres de archivo de origen y de destino son los mismos, por lo que, si bien esto no resuelve el ejemplo específico del OP, pensé que valía la pena compartirlo.
Por ejemplo:
xcopy /y "bin\development\whee.config.example" "TestConnectionExternal\bin\Debug\*"
creará una copia del archivo "whee.config.example" en el directorio de destino sin solicitar el archivo o directorio.
Actualización : Como lo menciona @chapluck:
Puedes cambiar "* "
a "[newFileName].*"
. Persiste la extensión del archivo pero permite cambiar el nombre. O más hacky: "[newFileName].[newExt]*"
cambiar la extensión
Hay algún tipo de característica no documentada en XCOPY. puedes usar:
xcopy "bin\development\whee.config.example" "c:\mybackup\TestConnectionExternal\bin\Debug\whee.config*"
Lo probé hoy. :-)