这应该很简单..
我们在Windows服务器上有以下结构:
我们需要存档和管理日志。这种结构将是我的偏好:
REM REMOVE ANY ZERO-BYTE FILES
FOR %%d IN (1,2) DO (
FOR /r D:\vendor%%d\logs %%X IN (*) DO IF %%~zX LSS 1 (DEL /Q "%%X")
FOR /r D:\vendor%%d\other_logs %%X IN (*) DO IF %%~zX LSS 1 (DEL /Q "%%X")
FOR /r D:\tomcat%%d\logs %%X IN (*) DO IF %%~zX LSS 1 (DEL /Q "%%X")
)
pause
奇怪的是,这似乎也不起作用。
REM REMOVE ANY ZERO-BYTE FILES
for %%d in (1,2) do call :process_dir %%d
goto :eof
:process_dir
FOR /r D:\vendor%1\logs %%X IN (*) DO IF %%~zX LSS 1 (DEL /Q "%%X")
FOR /r D:\vendor%1\other_logs %%X IN (*) DO IF %%~zX LSS 1 (DEL /Q "%%X")
FOR /r D:\tomcat%1\logs %%X IN (*) DO IF %%~zX LSS 1 (DEL /Q "%%X")
谢谢!
答案 0 :(得分:0)
我想出来了..
REM REMOVE ANY ZERO-BYTE FILES
FOR %%d IN (1,2) DO (
SET /A PTR=%%d
FOR /r D:\vendor%PTR%\logs %%X IN (*) DO IF %%~zX LSS 1 (DEL /Q "%%X")
FOR /r D:\vendor%PAR%\other_logs %%X IN (*) DO IF %%~zX LSS 1 (DEL /Q "%%X")
FOR /r D:\tomcat%PTR%\logs %%X IN (*) DO IF %%~zX LSS 1 (DEL /Q "%%X")
)
pause
此处的关键是SET /A