Skip to content

Windows cmd cкрипты

Даты

rem Дата в формате YYYYMMDD
set MYDATE=%date:~6,4%%date:~3,2%%date:~0,2%

Удаления файлов, кроме N-последних

rem ---- УДАЛЯЕМ СТАРЫЕ АРХИВЫ
rem Результат будет правильный если файлы rem содержат в имени дату и(или) время. 
rem set listfile=%TEMP%backup_1c_%BaseName%_del_list.txt 
rem Вывод в файл списка файлов по маске, 
rem с сортировкой в обратном порядке. 
dir %arcfilemask% /O:-N /S /B > %listfile% 
rem 
rem удаляем все файлы, кроме "N" самых первых, т.е. самых новых 
for /F " skip=45 " %%i IN (%listfile%) DO del %%i /S /Q 
rem 
rem Удаляем файл со списком 
del %listfile% /Q

Удаления архивов, кроме N-последних. Улучшенная версия

rem Удаляем все файлы, кроме "N" самых первых, т.е. самых новых
rem delims стоит для того чтобы пробелы в именах файлов не учитывались как разделитель
for /F "skip=30 delims=;" %%i IN ('dir %dstPath%\%FileMask% /O:-N /S /B') do del "%%i" /S /Q

Вычисляем день недели

rem Вычисляем день недели в переменную DayOfWeek 
for /f %%i in ('wmic path win32_localtime get dayofweek /format:list ^| findstr "="') do (set %%i)

Ищем процесс, который занял 80 порт

for /f "tokens=1,2,3,4,5*" %i in ('netstat -aon ^| findstr ":80" ^| findstr /i listening') do echo %j %l & @tasklist | findstr %m