2

SQL Server エージェント ジョブで dos バッチ ファイルを実行しています。バッチ ファイルには 34 のステップがあります。すべてのステップは、ステップ 31 を除いて毎日実行されます。火曜日にのみ実行されます。別の SQL エージェント ジョブをセットアップすることもできますが、それはやり過ぎのようです。ステップ 31 を火曜日のみに実行するために、バッチ ファイル内の曜日をシステムに照会するにはどうすればよいですか? 以下のコードを試しましたが、うまくいきませんでした。

For /F "tokens=1 delims= " %%A in ('Date /t') do @( 
Set DayName=%%A 
) 

if('%DayName:~0,3%' equ 'Tue') <run step 31>

「%DayName:~0,3%」をエコーすると、「Tue」と表示されます

4

2 に答える 2

4

これを使用できます:

wmic path win32_localtime get dayofweek

「2」を返すのは火曜日です。

于 2012-11-27T19:32:12.900 に答える
1

フィードバックをお寄せいただきありがとうございます。問題が見つかりました。それはif文のかっこでした。それらを削除すると、正常に機能しました。一重引用符も削除しました。

これは機能します

if %DayName:~0,3% equ Tue

これも機能します:

if '%DATE:~0,3%' equ 'Tue'

これらは機能しません

if %DATE:~0,3% equ 'Tue'
if (%DATE:~0,3% equ Tue)
于 2012-11-27T19:57:09.667 に答える