Поиск на диске файлов с указанными расширениями имени с протоколированием

lox-ness

Новый пользователь
Сообщения
4
Реакции
0
Помогите пожалуйста написать командный файл.

Получить информацию о размещении на логическом диске файлов -архивов следующих типов: rar, zip, 7zи сохранить пути к этим файлам в текстовом файле-протоколе.

Путь к файлу протокола, имя логического диска и расширение файлов-архивов задаются, как параметры командного файла.

В сценарии предусмотреть:

- проверку наличия введенных параметров: путь к файлу-протоколу, имя диска и, хотя бы одного параметра, задающего расширение. При отсутствии минимально необходимого числа параметров дать сообщение и завершить работу;

- удаление ранее созданного файла протокола, если он существует;

- проверку успешного созданного нового файла-протокола и постраничное изображение его на экране.
 
CMD/BATCH:
@echo off
:: Проверяю задано ли минимальное кол-во аргументов
if "%~1"=="" goto using
if "%~2"=="" goto using
if "%~3"=="" goto using
:: Если файл-протокол уже существует, удалить его
if exist "%~1" del /F "%~1"
:begin
:: Перечисляю все файлы на заданном диске по расширению имени
:: 2>NUL нужна, чтобы не выводить такую ошибку, как "Файлы не найдены"
dir /B /A-D "%~2\*.%~3" 2>NUL >> "%~1"
:: Смещаю 4-й и дальше аргументы на 3-й
shift /3
:: Если аргумент непустой, перехожу к метке begin и читаю следующее расширение имени
if "%~3" neq "" goto begin
:: Проверка наличия протокола
if not exist "%~1" (echo Протокол не создан. Искомых файлов нет на томе %~2& Exit /B)
:: Постраничный вывод на экран содержимого протокола (для пролистывания нажмите SPACE)
type "%~1" | more
Exit /B

:using
  echo Использование:
  echo %~nx0 "Путь к файлу протокола" "Имя логического диска" "Расширение имени 1" "Расширение имени 2" ...
  echo Например:
  echo %~nx0 "c:\temp\file.log" "d:" "rar" "zip" "7z"
Exit /B
 
task.cmd c:\111.txt g: zip rar 7z таким образомДобавили параметр к dir /s и все вроде стало искать во всех каталогах СпасиблЕще раз спасибо за помощь
 
Назад
Сверху Снизу