将文件复制到另一个文件夹,在目的地重命名并覆盖现有文件

Posted

技术标签:

【中文标题】将文件复制到另一个文件夹,在目的地重命名并覆盖现有文件【英文标题】:Copy file to another folder, rename in destination and overwrite existing file 【发布时间】:2021-10-25 02:42:30 【问题描述】:

我有一个批处理脚本可以将文件复制到另一个目的地。我正在尝试复制文件,同时保留其名称和扩展名,然后在目标文件夹中进行全部更改。但是,目标文件夹在更改后将始终具有相同的文件名和不同的扩展名。这就是为什么我想在更改复制文件的名称和扩展名后在任何情况下覆盖当前文件。在示例中,要复制的文件是“My File Name.ssl”,更改后将被覆盖的目标文件是“renamedfile.conf”。此代码甚至不复制文件。

@echo off
move /Y C:\Users\Murray\Desktop\My File Name.ssl C:\Program Files (x86)\Folder\Subfolder\
ren "C:\Program Files (x86)\Folder\Subfolder\My File Name.ssl" renamedfile.conf

我错过了什么?

【问题讨论】:

我试过了。它也不起作用。我认为这与用户权限无关,因为类似的批处理文件成功复制了一个文件,但该脚本并不能单独满足我的要求。 【参考方案1】:

您在文件名周围缺少正确的引号

使用具有正确权限的移动,您无需将其重命名为辅助功能,请参阅move /? 的用法

move /Y "C:\Users\Murray\Desktop\My File Name.ssl" "C:\Program Files (x86)\Folder\Subfolder\renamedfile.conf"

将使用新名称移动它

但您需要“C:\Program Files (x86)”的管理员权限,因此可能需要以管理员身份运行 cmd。

没有管理员权限

move /Y "C:\Users\Murray\Desktop\My File Name.ssl" "C:\Program Files (x86)\Folder\Subfolder\"

在我的情况下,访问被拒绝。 0 个文件已移动。

如果您希望保留原始副本并仅替换程序文件中的副本,请使用copy /? 进行检查,但在这种情况下只需将move 替换为copy

【讨论】:

好的,非常感谢你,现在它就像一个魅力。还有一个问题:如何在不移动的情况下复制文件?只是复制。 有效!非常感谢你是我的主人!

以上是关于将文件复制到另一个文件夹,在目的地重命名并覆盖现有文件的主要内容,如果未能解决你的问题,请参考以下文章

重命名现有文件名

在linux下复制文件到另外一个目录并且重命名的具体操作如何?

Linux复制文件到某路径并重命名

Linux复制文件到某路径并重命名

bat脚本照片复制重命名?

vs中如何 将一个文件复制到另一个文件夹中, 需要导入命名空间吗