Войти

Показать полную графическую версию : [решено] скопировать, разархивировать и удалить архив.


Madinka
28-05-2012, 22:31
Написать командный файл.
1)В локальном диске с:\Temp сохранен архив(с расширение rar) с файлами(.exe, .dat, .lnk) .Нужно скопировать,разархивировать на рабочий стол,и удалить этот архив.Все действия записать в блок-файл.
2)Написать командный файл,который анализирует сколько раз выполнялись действия из 1 задания, если были ошибки,то сколько раз.

Anonymоus
28-05-2012, 22:58
Домашнее задание по информатике за вас никто делать не будет. Подсказки для самостоятельного написания:
1)
Разархивировать с помощью unrar на рабочий стол: unrar x "Archive.rar" "%UserProfile%\Рабочий стол\Archive\"
Разархивировать с помощью 7z (http://www.7-zip.org/) на рабочий стол: 7z x "Archive.rar" -o"%UserProfile%\Рабочий стол\Archive\"
Копирование, помощь по команде - copy /?
Удаление, помощь по команде - del /?
Перенаправление вывода в файл (http://www.windowsfaq.ru/content/view/260/57/)
2)
Обработка ошибок - Операторы объединения команд (http://www.cyberforum.ru/cmd-bat/thread55211.html), Код выхода программы (http://www.robvanderwoude.com/errorlevel.php)
Подсчет чего-либо, арифметические действия - Set /A
Инкрементация переменной на единицу, упрощённая запись - Set /A Var+=1

Кроме того, почитайте прикреплённую тему. Там подобраны действительно хорошие ссылки.

Madinka
29-05-2012, 10:35
unrar, 7z не является внутренней или внешней командой, исполняемой программой или пакетным файлом. Что это значит?

ferget
29-05-2012, 10:56
это значит, что программы не установлены или не прописаны в path

Madinka
29-05-2012, 11:42
как их туда прописать?

hAUS
29-05-2012, 11:52
вот так (http://www.oszone.net/6157)

Madinka
29-05-2012, 15:25
@echo off
echo kopiruem arhiv iz C v D
xcopy ''C:\WINDOWS\Temp\arhiv\1.rar'' ''D:\PPO'' /s
echo.


echo razarhiviruem arhiv na rabochi stol
unrar x ''1.rar'' ''%UserProfile%\rabochii stol\arhiv\''
echo.


echo udalyaem arxiv iz papki C
del ''C:\WINDOWS\Temp\arhiv\*.*''
echo.


pause

вот что поучилось, есть ошибки,но не пойму где

Madinka
30-05-2012, 18:10
@echo off
echo razarhiviruem arhiv iz diska C na rabochii stol
unrar x -n@ <*.dat *.exe *.lnk> C:\Temp\arhiv.rar <@1.dat @1.exe @1.lnk> C:\"Documents and Settings"\User\"rabochii stol"\*.*
echo.

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

sl2103
31-05-2012, 10:25
не утверждаю, что 100 процентов всё верно у меня, но помогаю, как могу)))
unrar x - имхо наверное нужно прописать полный путь к файлу, типа "%programfiles%\winrar\unrar.exe" x

откуда же знать системе, что такое unrar :)

C:\"Documents and Settings"\User\"rabochii stol"\*.* - разве рабочий стол у вас на ПК так выглядет?))) вряд ли.

где-то так... "%USERPROFILE%\Рабочий стол"
т.к. используется русский язык, значит нужно указать кодировку в начале батника chcp 1251 или FAR-ом

Если в пути есть пробелы, в кавычки лучше/правильнее заключить полный путь

Iska
31-05-2012, 18:04
т.к. используется русский язык, значит нужно указать кодировку в начале батника chcp 1251 или FAR-ом »
Кодировка пакетных файлов должна быть OEM/866. Можно и Far Manager'ом.

Если в пути есть пробелы, в кавычки лучше/правильнее заключить полный путь »
Пути вообще желательно привыкать всегда заключать в кавычки.




© OSzone.net 2001-2012