2

今日更新された xlsm ファイルのフォルダーを検索したいバッチ ファイルがあります。今日の xlsm ファイルが見つかった場合は、別のバット ファイルを実行します。更新されたファイルがない場合は、(電子メールを送信するために) .vbs ファイルを実行してから終了する必要があります。

現在、私は以下を持っています:

@echo off
set var=%date:~-10%
dir "*.xlsm"|find "%var%">nul&&CALL Update.bat||EXIT

おそらく、現在の方法ではなく何らかの IF/ELSE を含める必要があると思いますが、スキルが不足しています..

編集: @Monacraftからの回答に基づいて、私が行った実際の解決策は次のとおりです。

@echo off
forfiles /p C:\ /m *.xlsm /d 0 /c "cmd /c call Update.bat"
if ERRORLEVEL 1 start FailEmail.vbs
4

3 に答える 3

1

Windows 7 を使用している場合は、次のことができますforfiles

@echo off
set found=FALSE

forfiles /p "C:\...[path to folder]" /m *.xlsm /d +1 /c "cmd /c Echo Updating...&CALL Update.bat&set found=TRUE"

if /i %found%==False (
start email.vbs
) else (
Exit
)

そして、それはうまくいくはずです

モナ

于 2013-10-17T03:24:07.750 に答える