如何使用sp_覆盖名称从nl_开始的文件

时间:2013-01-08 11:36:23

标签: batch-file rename xcopy

我有文件夹A和B.文件夹A包含以下文件:a.mp3和a.txt,文件夹B包含:b.mp3和b.txt。我想在这里做的是复制并重命名文件夹A到B的内容,以便可以覆盖文件。

以下是有关如何在文件夹B中覆盖并保留相同文件名的示例代码:

XCOPY /HECY A\a.txt B\b.txt

但我不想输入要复制的所有文件名并覆盖文件夹B中的文件。

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

这应该有效。它会将所有A\nl_*.*个文件复制到B\,将nl重命名为sp并覆盖文件。

setlocal enabledelayedexpansion
for %%a in (A\nl_*.*) do (
set file=%%~nxa
set file=!file:~2!
xcopy /hecyi "%%a" "B\sp!file!"
)

答案 1 :(得分:0)

重命名文件/目录或文件/目录。

RENAME [drive:] [path] [directoryname1 | filename1] [directoryname2 |文件名2] REN [drive:] [path] [directoryname1 | filename1] [directoryname2 |文件名2]

实施例

  1. 将目录“sampel”重命名为“sample”
  2. 重命名c:\ sampel sample

    1. 将所有文本文件重命名为扩展名为.bak的文件。
    2. 重命名* .txt * .bak

      1. 重命名具有特定前缀的特定文件夹中的所有文件(例如:1_NEW)
      2. 重命名* 1_NEW *

        4.将文件“normal sample.txt”重命名为“example sample.txt”。每当处理带有空格的文件或目录时,都必须用引号括起来。否则你会得到“命令的语法不正确”。错误。

        重命名“normal sample.txt”“example sample.txt”

答案 2 :(得分:0)

您可以直接使用xcopy /HECYI A\nl_*.* B\sp_*.*命令执行此操作:

C:>dir A /b
nl_t.txt
nl_test.txt
nl_test.xyz
nl_testLarge.txt

C:>dir B /b

C:>xcopy A\nl_*.* B\sp_*.*
A\nl_t.txt
A\nl_test.txt
A\nl_test.xyz
A\nl_testLarge.txt
4 File(s) copied

C:>dir B /b
sp_t.txt
sp_test.txt
sp_test.xyz
sp_testLarge.txt