我尝试使用此代码:
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
。
任何帮助都会很棒。
答案 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%"