这看起来很简单,也许我只是忽略了正确的标志 ,但是我如何在一个命令中将文件从一个目录复制到另一个目录并在目标目录中重命名? 这是我的命令:
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"
每次都会提示我以下内容:
TestConnectionExternal \\ bin \\ Debug \\ whee.config是否在目标上指定文件名或目录名(F =文件,D =目录)?
我想压制这个提示; 答案永远是F
#1楼
所以,有一个简单的解决方案。 这无疑是尴尬的,但它确实有效。 如果新文件(文件名)已经存在,xcopy将不会提示找出目标是目录还是文件。 如果在xcopy命令之前使用简单的回显到新文件名,它将覆盖空文件。 例
echo.>newfile.txt
xcopy oldfile.txt newfile.txt /Y
#2楼
另一种选择是使用目标通配符。 请注意,这仅在源文件名和目标文件名相同时才有效,因此虽然这不能解决OP的具体示例,但我认为值得分享。
例如:
xcopy /y "bin\development\whee.config.example" "TestConnectionExternal\bin\Debug\*"
将在目标目录中创建文件“whee.config.example”的副本,而不提示输入文件或目录。
更新 :如@chapluck所述:
您可以将"* "更改为"[newFileName].*" 。 它会保留文件扩展名,但允许重命名。 或者更hacky: "[newFileName].[newExt]*"来改变扩展名
#3楼
我建议使用robocopy而不是copy或xcopy 。 在客户端或服务器上用作命令或GUI。 容忍网络暂停,您可以选择在按文件属性复制副本时忽略文件属性。 哦,它支持多核机器,因此文件可以相互“并行”而不是按顺序复制得更快。 robocopy可以在MS TechNet上找到。
#4楼
解决方法,使用ReName ...并将其命名为一些隐藏名称,然后将其命名为其正确名称
C:
CD“C:\\ Users \\ Public \\ Documents \\ My Website \\ AngelFire~Zoe \\”
XCopy / D / I / V / Y“C:\\ Users \\ Public \\ Documents \\ My Web Sites \\ HostGator~ZoeBeans \\ cop.htm”
Ren“cop.htm”“christ-our-passover.htm”
#5楼
xcopy src dest /I
REM This assumes dest is a folder and will create it, if it doesnt exists