批量脚本删除日志文件,如果大小更多

By simon at 2018-02-28 • 0人收藏 • 37人看过

您好我正在尝试创建一个批处理脚本来删除日志文件 应用程序如果文件大小更多,这里是我的代码。我a得到语法 第二次“推”后出现错误

@echo off
pushd "C:\Program Files\temp\Logs" 
for /f "skip=10 eol=: delims=" %%F in ('dir /b /o-d E*.log') do @del "%%F" 
for /f "skip=10 eol=: delims=" %%F in ('dir /b /o-d A*.log') do @del "%%F" 
popd
sleep 1
pushd "C:\Program Files\temp\modules\Logs"
set file="P*.log"
set maxbytesize = 10
 FOR /F "usebackq" %%A IN ('%file%') DO set size=%%~zA
   if %size% GTR %maxbytesize% (
        del "%%A"
) 

2 个回复 | 最后更新于 2018-02-28
2018-02-28   #1

for /f处理文件的内容 - 不是你想要的。用一个 纯色for:

for %%A in ("%file%") do set size=%%~zA

2018-02-28   #2

请准确复制此代码并尝试使用。

@echo off
setlocal enabledelayedexpansion
pushd "C:\Program Files\temp\Logs" 
for /f "skip=10 eol=: delims=" %%F in ('dir /b /o-d E*.log') do @del "%%F" 
for /f "skip=10 eol=: delims=" %%F in ('dir /b /o-d A*.log') do @del "%%F" 
popd
sleep 1
pushd "C:\Program Files\temp\modules\Logs"
set file="P*.log"
set "maxbytesize=10"
for %%A in ("%file%") do (
   set size=%%~zA
   if !size! GTR %maxbytesize% del "%%A"
)

登录后方可回帖

Loading...