【发布时间】:2017-11-03 10:48:43
【问题描述】:
我正在将文件移动到同名的新地图中。当名称相同并覆盖时会出现问题。如果可能的话,我想在文件末尾添加 01、02、03.. 或附加日期。但我必须保持扩展原样。
所以我想将 123.pdf 更改为 123_date.pdf 或 12301.pdf 而不是 123.pdf01。到目前为止,我有第一部分覆盖文件:
@echo off
pushd G:\Purchase
for %%a in (*.*) do (
md "%%~na" 2>nul
move "%%a" "%%~na"
)
popd
我有:set myTimeStamp = _%date:~12,2%%date:~7,2%%date:~4,2%_%time:~0,2%%time:~3,2%
【问题讨论】:
-
什么情况下会覆盖文件?您似乎只遍历
G:\Purchase文件夹的根目录。您处理的所有源文件都将具有不同的名称,因为一个文件夹中不能有两个同名的文件。 -
除了
myTimeStamp从未设置过,因为=前后都有空格,你还需要这个值做什么?问题的其他地方没有提到它......无论如何,%%~xa拥有纯扩展名(.pdf)。并注意如果文件没有扩展名,则无法创建目录...
标签: batch-file cmd rename overwrite