将timpestamp附加到文件名的批处理脚本任务,格式为' filename_timestamp.ext'

时间:2016-11-03 06:19:26

标签: windows batch-file cmd

我尝试使用此代码:

SET Tmstp=%date:~7,2%%date:~4,2%%date:~10,4%%time:~0,2%%time:~3,2%%time:~6,2%
FOR %%V IN (%1) DO copy %%V %%V_%Tmstp%.bat && move %%V_%Tmstp% %Target%
echo %0

但它以filename.bat_timestamp格式返回文件名,但我需要filename_timestamp.bat

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

您需要修饰符(在for /?中描述。这些修饰符允许您分别访问文件名的每个元素(驱动器,路径,名称,扩展名和其他一些属性):

... DO copy "%%V" "%%~nV_%Tmstp%%%~xV" && move "%%~nV_%Tmstp%%%~xV" "%Target%"

或者如果您需要完整路径:

... DO copy "%%~fV" "%%~dpnV_%Tmstp%%%~xV" && move "%%~dpnV_%Tmstp%%%~xV" "%Target%"