Batch file 在批处理文件中为文件名添加时间
嗨,我有一个批处理文件,它运行一些程序来截图我的一些网页 看起来像这样Batch file 在批处理文件中为文件名添加时间,batch-file,Batch File,嗨,我有一个批处理文件,它运行一些程序来截图我的一些网页 看起来像这样 @echo off setLocal EnableDelayedExpansion for /f "tokens=2-4 delims=/ " %%a in ('echo %date%') do ( set DDMMYYYY=%%a%%b%%c ) webscreencapture.exe http://123.com c:/users/d/desktop/dealscreens/folder1/!DDMMYYYY!.jp
@echo off
setLocal EnableDelayedExpansion
for /f "tokens=2-4 delims=/ " %%a in ('echo %date%')
do (
set DDMMYYYY=%%a%%b%%c
)
webscreencapture.exe http://123.com c:/users/d/desktop/dealscreens/folder1/!DDMMYYYY!.jpg
webscreencapture.exe http://1234.com c:/users/d/desktop/folder2/!DDMMYYYY!.jpg
这对于每天捕获一次屏幕效果很好,但是现在我想每天捕获两次屏幕,所以我需要在文件名中添加一个时间或类似的时间,以便获得两个不同名称的屏幕截图 试试这个-我还没有测试过,但应该很接近
@echo off
setLocal EnableDelayedExpansion
for /f "tokens=2-4 delims=/ " %%a in ('echo %date%')
do (
set DDMMYYYY=%%a%%b%%c
)
for /f "tokens=1-5 delims=:" %%d in ("%time%")
do (
set HHMM=%%d%%e
)
然后:
webscreencapture.exe
http://123.com
c:/users/d/desktop/dealscreens/folder1/!DDMMYYYY!!HHMM!.jpg
[注意:上面应该是一行,因为您已经有了它。我将它放在多行上以便于阅读。]两个选项:
加上时间
您可能应该在文件名中添加时间。一小时应该足够了——除非您使用am/pm,并且您的脚本在凌晨1点和下午1点执行
不幸的是,日期和时间格式取决于区域设置。如果您知道日期和时间区域设置是什么,这将更容易和更短
Rob van der Woude在他的网站上有一篇关于这个主题的完整文章:
并且,使用不同的方法和脚本
添加计数器
为文件名添加后缀并每次递增可能更容易
例如:
@echo off
setLocal EnableDelayedExpansion
for /f "tokens=2-4 delims=/ " %%a in ('echo %date%')
do (
set DDMMYYYY=%%a%%b%%c
)
SET /a c=1
:checkfilename
IF EXISTS c:/users/d/desktop/dealscreens/folder1/!DDMMYYYY!-!c!.jpg (
SET /a c=!c!+1
GOTO :checkfilename
)
webscreencapture.exe http://123.com c:/users/d/desktop/dealscreens/folder1/!DDMMYYYY!-!c!.jpg
webscreencapture.exe http://1234.com c:/users/d/desktop/folder2/!DDMMYYYY!-!c!.jpg
将令牌设置为1-4而不是2-4,然后它将在DDMMYYY中显示输出感谢您的帮助。批处理文件将不会使用新代码执行。我相信您需要的基本信息在文件中。我相信,你需要仔细研究细节才能让它发挥作用。