Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Получить информацию о размещении на логическом диске файлов-архивов

Ответить
Настройки темы
CMD/BAT - Получить информацию о размещении на логическом диске файлов-архивов

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


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



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



Например,

task4.cmd f:\logfile f: rar zip 7z


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

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

Отправлено: 14:39, 29-11-2013

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sLogFile=%~1

if not defined sLogFile (
	echo Not specified [Log file]!
	echo.
	call :Usage
	exit /b 1
)

set sRootPath=%~2

if not defined sRootPath (
	echo Not specified [Root path]!
	echo.
	call :Usage
	exit /b 2
) else (
	if not exist "%sRootPath%\." (
		echo Root path [%sRootPath%] not found.
		exit /b 3
	)
)

set sExt=%~3

if not defined sExt (
	echo Not specified any extension!
	echo.
	call :Usage
	exit /b 4
)

set sMasks=

:Repeat
set sExt=%~3

if defined sExt (
	set sMasks=!sMasks! "%sRootPath%\*.!sExt!"
	shift /3
	goto :Repeat
)

echo Log file:  [%sLogFile%]
echo Root path: [%sRootPath%]
echo Masks:     [%sMasks%]

2>nul >"%sLogFile%" dir /s /b %sMasks%
if exist "%sLogFile%" <"%sLogFile%" more

endlocal
exit /b 0

:Usage
	echo Usage:   %~nx0 ^<Log file^> ^<Root path^> ^<Extension^> [^<Extension^> [^<Extension^> ...]]
	echo Example: %~nx0 "E:\Песочница\0333\logfile.txt" "E:\Песочница" "rar" "zip" "7z"
	exit /b 0

Отправлено: 07:52, 30-11-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Получить информацию о размещении на логическом диске файлов-архивов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Что за странные папки появляются на логическом диске D? Dendy-2010 Microsoft Windows 2000/XP 4 26-01-2012 07:12
[решено] программы на первом логическом диске работают быстрее? n_i_x Хочу все знать 6 04-02-2011 23:48
Установка - на логическом диске Д была информация!!! а теперь диск пустой tarasik Microsoft Windows 2000/XP 7 23-11-2010 20:48
Профили пользователей на на другом логическом диске ss777 Microsoft Windows NT/2000/2003 4 07-07-2008 14:04
Установка - Форматирование primary диска с системой на другом, логическом диске gardas Microsoft Windows 2000/XP 4 20-11-2007 08:52




 
Переход