пакетный файл не регистрирует вывод - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть следующий пакетный файл для удаления временных файлов.Это просто одинаковые команды на разных дисках.

После завершения запуска командного файла я открыл deltemp.txt и обнаружил, что последняя запись:

Deleted file - C:\Windows\SoftwareDistribution\Download\00a3c0a2b495f51102e950f382252d85\Package_for_KB4515383~~amd64~~18362.350.1.0\$dpx$.tmp

На диске D ничего нет:или K:

В окне cmd последние три строки:

C:\WINDOWS\System32>if EXIST D:\ (for /F "delims=" %i in ('dir D:\ /s /b |find "\~"') do (

 del /q "%i"
) ) 1>>C:\deltemp.txt 2>&1

На K ничего нет:.

На K есть файлы с именем, например ~* .xlsx.Они не удалены.Я вручную ввел следующую команду для их удаления.

for /f "delims=" %i in ('dir K:\ /s /b /ah ^|find "\~"') do del /q /ah "%i"

Может быть, что-то не так с оператором IF?Но это не объясняет, почему диск D: был на экране, а не в файле журнала.

@REM ======================== Drive C ===============================================
@rem del ~*.xlsx
@if EXIST C:\ (for /f "delims=" %%i in ('dir C:\ /s /b /ah ^|find "\~"') do del /a /ah "%%i") >C:\deltemp.txt 2>&1

REM @rem del ~*.tmp
@if EXIST C:\ (for /f "delims=" %%i in ('dir C:\ /s /b /ah  ^|find "~" ^|find "tmp" ') do del /q /ah  "%%i") >>C:\deltemp.txt 2>&1

@REM ======================== Drive D ===============================================
REM @rem del ~$*
if EXIST D:\ (for /f "delims=" %%i in ('dir D:\ /s /b /ah ^|find "~$" ') do del /q /ah  "%%i") >>C:\deltemp.txt 2>&1

REM @rem del ~*.tmp
if EXIST D:\ (for /f "delims=" %%i in ('dir D:\ /s /b /ah  ^|find "~" ^|find "tmp" ') do del /q /ah "%%i") >>C:\deltemp.txt 2>&1

@rem del ~*.xlsx
if EXIST D:\ (for /f "delims=" %%i in ('dir D:\ /s /b /ah ^|find "\~"') do del /q /ah "%%i")  >>C:\deltemp.txt 2>&1

@REM ======================== Drive K ===============================================
REM @rem del ~$*
if EXIST K:\ (for /f "delims=" %%i in ('dir K:\ /s /b /ah ^|find "~$" ') do del /q /ah  "%%i") >>C:\deltemp.txt 2>&1

REM @rem del ~*.tmp
if EXIST K:\ (for /f "delims=" %%i in ('dir K:\ /s /b /ah  ^|find "~" ^|find "tmp" ') do del /q /ah "%%i") >>C:\deltemp.txt 2>&1

@rem del ~*.xlsx
if EXIST K:\ (for /f "delims=" %%i in ('dir K:\ /s /b /ah ^|find "\~"') do del /q /ah "%%i")  >>C:\deltemp.txt 2>&1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...