1

こんにちは、いくつかのプログラムを実行していくつかの Web ページのスクリーンショットを作成するバッチ ファイルがあります。

このように見えます

@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

これは、1 日に 1 回画面をキャプチャする場合は問題なく機能しましたが、今は 1 日に 2 回画面をキャプチャしたいので、ファイル名に時間などを追加する必要があるため、2 つのスクリーンショットの名前が異なります。

4

3 に答える 3

0

これを試してください - 私はテストしていませんが、近いはずです。

@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 

[注: 既にあるので、上記は 1 行である必要があります。読みやすくするために複数行に分けています。]

于 2012-05-13T22:34:59.333 に答える
0

2 つのオプション:

時間を追加

おそらく、ファイル名に時間を追加する必要があります。am/pm を使用し、スクリプトがたとえば午前 1 時と午後 1 時に実行されない限り、時間で十分です。

残念ながら、日付と時刻の形式は地域の設定によって異なります。日付と時刻の地域設定が何であるかを知っていれば、これはより簡単で短くなります。

Rob van der Woude は、彼のサイト ( http://www.robvanderwoude.com/datetimentbasics.phpおよびhttp://www.robvanderwoude.com/datetime.php ) にこのトピックの完全な記事を掲載しており、さまざまなアプローチとスクリプトを使用しています。

カウンターを追加する

ファイル名にサフィックスを追加して、毎回インクリメントする方が簡単な場合があります。

例えば:

@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
于 2012-05-14T09:42:39.790 に答える