从修整后的文件覆盖同名文件

时间:2018-10-26 14:45:37

标签: batch-file rename overwrite

到目前为止,我已经获得了可以为我工作的代码。修剪并重命名文件后,如果存在同名文件,则不会覆盖它。

此批处理文件已多次运行,因此第一次运行,然后第二次无法覆盖以前创建的文件,因为新修剪的文件名与先前创建的文件名相同。

由于该文件名不是恒定的,因此我不确定在运行命令之前如何删除它,因为该文件夹中还会有其他文件具有相同的扩展名(或缺少扩展名)。

xcopy /d "%SystemDrive%\clfiles\*xp21.tap" 
"\\nphdata\Departments\M.E\N1040_MACHINING\OFFICE\PROGRAM_HOLD
\MS200\*xp21*" /y

set Source="\\nphdata\Departments\M.E\N1040_MACHINING\OFFICE\PROGRAM_HOLD\MS200"
for %%c in (%Source%\*xp21*) do (
    set MS200Trimmed=%%~nc
    set MS200Trimmed=!MS200Trimmed:~0,8!%
    ren "%%~c" !MS200Trimmed!
)

2 个答案:

答案 0 :(得分:0)

就在“ ren” %%〜c“!MS200之前!行,添加一个删除命令。

xcopy /d "%SystemDrive%\clfiles\*xp21.tap" 
"\\nphdata\Departments\M.E\N1040_MACHINING\OFFICE\PROGRAM_HOLD
\MS200\*xp21*" /y

set Source="\\nphdata\Departments\M.E\N1040_MACHINING\OFFICE\PROGRAM_HOLD\MS200"
for %%c in (%Source%\*xp21*) do (
    set MS200Trimmed=%%~nc
    set MS200Trimmed=!MS200Trimmed:~0,8!%
    del !MS200Trimmed! 
    ren "%%~c" !MS200Trimmed!
)

答案 1 :(得分:0)

对我有用的是拥有“ del%Source%!ProbeMacro!”在仁之前。我还认为我终于弄清楚了要在此处发布的格式,使我的消息更易于理解:〜)

5
相关问题