0

こんにちは、特定のフォルダが今日変更されたかどうかを知らせるバッチ ファイルを探しています (毎朝実行します)。照会する各フォルダーを指定してよかったのですが、私の要件を満たすものはまだ見つかりませんでした。誰かが.batのコードがどうなるかを頭のてっぺんから知っていれば、それは素晴らしいことです:) よろしくお願いします。

4

2 に答える 2

1

このトリックを実行するバッチ ファイルを次に示します。

@echo off
setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
for /D %%Q IN (*.*) DO (
  set FILETIME=%%~tQ
  if "!FILETIME:~0,10!"=="%DATE:~4%" echo %%Q
)

これは、ファイルのタイムスタンプの日付部分を現在の日付と比較することで機能します。

書かれているように、現在のディレクトリのディレクトリをチェックしますが、 *.* をテストしたいファイルスペックに置き換えることができます(または引数として渡します)。

これが他のデフォルトの英語/米国地域設定を備えたシステムで機能するかどうかはわかりませんが、まだ機能していない場合は、おそらく機能するように調整できます. また、システムが異なるタイムゾーンのユーザー間で共有されている場合にどうなるかもわかりません。

于 2011-02-14T17:32:34.597 に答える
0

あなたはvbscriptを使うことができます

Set objFS = CreateObject( "Scripting.FileSystemObject" )
strFolder = WScript.Arguments(0)
Set objFolder = objFS.GetFolder(strFolder)
If DateDiff("d", Now, objFolder.DateLastModified ) = 0 Then
    WScript.Echo "0"
End If 

バッチ ファイル (またはコマンド ライン) で

C:\test>cscript //nologo test.vbs myFolderName

for ループを使用して出力をキャッチします。(または、 vbscript ですべてを行うこともできます)

于 2011-01-19T03:24:42.643 に答える