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

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

Ответить
Настройки темы
CMD/BAT - Перемещение/Форматирование/Сортировка/Запись/Удаление

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


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

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


Помогите составить пакетный файл для выполнения следующих действий:
а) перемещение всех файлов с flash-диска в рабочий каталог (номер flash-диска и каталог указываются в качестве параметров командной строки);
б) форматирование flash-диска;
в) сортировка файлов в следующие группы и запись каждой группы файлов в отдельный самораспаковывающийся гаг-архив:
группа 1 включает все файлы с именами, начинающимися на "data" и любым расширением, группа 2 включает все файлы, не вошедшие в группу 1;
г) запись полученных архивов на flash-диск;
д) удаление из рабочего каталога всех созданных в процессе работы данной программы файлов.

Отправлено: 00:55, 24-05-2011

 

Аватара для Delirium

Ветеран


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

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


Маришка, помочь можем, а вот написать за тебя - нет. Приводи пример, показывай где и что не работает, посмотрим. В противном случае помощи не будет.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 01:05, 24-05-2011 | #2



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

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


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


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

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


rem %1 - путь к flash-диску (F:\)
rem %2 - путь к рабочему каталогу (С:\windows\)
rem копирование в рабочий каталог
copy %1 %2
rem форматирование flash-диска
format %1
rem сортировка файлов для архивации в 1-ую группу
copy %1~data*.* %1~1
del %1~data*.*
rem сортировка файлов для архивации во 2-ую группу
copy %1~*.* %1~2
del %1~*.*
rem переход в директорию с архиватором
cd %1~Arj
rem архивирование 1-ой и 2-ой группы
arj a %1~1.arj %1~1
arj a %1~2.arj %1~2
rem перемещение архивов на flash-диск
copy %1~1.arj %1
copy %1~2.arj %1
rem удаление рабочих каталогов
rd %1~1
rd %1~2
rem выход
exit

проблема в синтаксисе который я не знаю(посмотрите ошибки пожалуйста

Отправлено: 00:46, 26-05-2011 | #3


Googler


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

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


Маришка, непонятки с выбором архиватора - в 1-м посте заявлен RAR, а в примере ARJ. Вот вариант с ARJ32. Путь к архиватору должен быть прописан в переменной PATH, либо нужно в командной строке указать полный путь к ARJ32.EXE.
читать дальше »
Код: Выделить весь код
:: %1 - путь к flash-диску (F:)
:: %2 - путь к рабочему каталогу (С:\FLASH_TEMP)

:: подавление вывода команд на экран
@echo off
:: проверка переданных параметров
if "%~2"=="" (
  echo Не заданы параметры скрипта. Процесс прерван.[/color]
  pause>Nul
  exit
)
:: проверка наличия рабочего каталога
if not exist "%~2" (set "YN=Y"
) else set/p YN="Обнаружен рабочий каталог. Перезаписать? [YN]: "
:: удаление рабочего каталога в зависимости от выбора пользователя
if exist "%~2" if /i "%YN%"=="Y" (RD /S/Q "%~2") else (
  echo Процесс прерван пользователем.
  pause>Nul
  exit
)
:: копирование в рабочий каталог
xcopy /s/r/h/y "%~1\*" "%~2\"
if errorlevel 1 (
  echo Ошибка копирования. Процесс прерван.
  pause>Nul
  exit
)
:: форматирование flash-диска
Echo Y|format "%~1" /Q /FS:FAT32 /V:BAT
if errorlevel 1 (
  echo Ошибка форматирования "%~1". Процесс прерван.
  pause>Nul
  exit
)
:: переход в рабочий каталог
pushd "%~2"
if errorlevel 1 (
  echo Ошибка перехода в рабочий каталог "%~2". Процесс прерван.
  pause>Nul
  exit
)
:: архивация в 1-й группы
arj32 m "group1.arj" "data*" -r -p1
if errorlevel 1 (
  echo Ошибка архивации файлов 1-й группы. Процесс прерван.
  pause>Nul
  exit
)
:: архивация в 2-й группы
arj32 m "group2.arj" "*" -r -p1 -xGroup1.arj
if errorlevel 1 (
  echo Ошибка архивации файлов 2-й группы. Процесс прерван.
  pause>Nul
  exit
)
:: перемещение архивов на flash-диск
move /-y group?.arj "%~1"
if errorlevel 1 (
  echo Ошибка перемещения архивов. Процесс прерван.
  pause>Nul
  exit
)
:: возвращение в каталог с батником
popd
:: удаление рабочего каталога
rd /s/q "%~2"
:: выход
exit
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:10, 26-05-2011 | #4


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


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

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


pause>Nul

что такое Nul?

Отправлено: 05:20, 27-05-2011 | #5


Ветеран


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

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


NUL: — т.н. пустое устройство; одно из зарезервированных имён устройств в CP/M, DOS, Windows системах. Общее назначение и принципы функционирования в целом подобны Unix /dev/null.

Отправлено: 06:56, 27-05-2011 | #6


Googler


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

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


Цитата Маришка:
что такое Nul? »
подавление вывода сообщений любой команды (перенаправление в "никуда")
сравните результат PAUSE с ">NUL" и без него

Отправлено: 12:25, 27-05-2011 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Перемещение и удаление файлов по условию и маске VitHAK Скриптовые языки администрирования Windows 14 23-12-2013 08:57
Delphi - Перемещение и удаление файлов по маске. Putin-mode Программирование и базы данных 1 21-06-2010 12:16
CMD/BAT - [решено] Перемещение (удаление) директорий по маске ven00m Скриптовые языки администрирования Windows 17 15-11-2009 10:24
2008 - Не хватает прав на удаление\перемещение контейнера в AD diga Windows Server 2008/2008 R2 2 10-04-2009 14:14
Форматирование / удаление Win XP Guest Microsoft Windows 2000/XP 6 12-10-2004 13:39




 
Переход