1

ログファイルを生成するさまざまなプロセスがあります。ログが保存されているさまざまなパスで、さまざまなアクションを実行したいと思います。実際にこれを行いましたが、各パスをバッチに直接配置します。

md C:\source\Process1\%date:~6,4%_%date:~3,2%_%date:~0,2%
CD /D C:\source\Process1\
for /f "skip=%1 eol=: delims=" %%F in ('dir /a:d /b /o:-d') do @rd /s /q "%%F"
etc..

md C:\Process2\%date:~6,4%_%date:~3,2%_%date:~0,2%
CD /D C:\Process2\
for /f "skip=%1 eol=: delims=" %%F in ('dir /a:d /b /o:-d') do @rd /s /q "%%F"
etc..

.log ファイルがあるパスを見つけて取得し、パスをバッチに直接配置せずにすべてのパスでアクションを実行することは可能ですか? さまざまなパスでログを生成するプロセスをますます作成しているため、これを自動化する必要があります。

ありがとうございました

4

1 に答える 1

0
@echo off
setlocal EnableDelayedExpansion
pushd C:\source\
set "LOG_PATH=;"

for /f %%L in ('dir /b /s  log_*.log 2^>^&1') do (
    ( ECHO !LOG_PATH!| FIND ";""%%~dpL"";") >nul 2>&1 ||set "LOG_PATH=!LOG_PATH!"%%~dpL";"
)
popd

echo ~~!LOG_PATH!~~
set "for=for /f "skip=%~1 eol=: delims=""

for %%A in (!LOG_PATH!) do (
  md %%A%date:~6,4%_%date:~3,2%_%date:~0,2%
  %for% %%F in ('dir /a:d /b /o:-d "%%A"') do @rd /s /q "%%F
)

endlocal
于 2013-08-28T08:19:44.933 に答える