123 / 123 / 17
Регистрация: 30.06.2010
Сообщений: 478
1

Архивирование файлов через командную строку, как отловить завершение одного из этапов

19.01.2012, 17:51. Показов 1848. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть такой код:
C#
1
2
3
4
5
private void cmdArchive(String Input, String Output)
        {
            String command = "\"" + arch + "\" a " + Input + " " + Output;
            System.Diagnostics.Process.Start("cmd.exe", "/C " + command);
        }
где,
arch - путь до архиватора
Input - куда архивировать
Output - что архивировать
При запуске открывается сразу несколько командных строк и начинают архивировать.
Хотелось бы чтобы как то тормозился процесс, например открылась 1 командная строка, заархивировала, закрылась, открылась следующая. Иначе бывают случаи когда 2 директория архивируются в 1 архив, т.к. они в одно и то же время архивируются, то в архив попадает только 1 из них.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.01.2012, 17:51
Ответы с готовыми решениями:

Архивирование через командную строку
Нужно заархивировать папку. В ней файлы и еще одна папка. Командой zip архивируются только файлы,...

Как в windows сделать динамическую библиотеку из файлов .cpp через командную строку ?
Здраствуйте, вопрос состоит в следующем, как у Виндовс через командную строку сделать ...

Групповое переименование файлов через командную строку
Здравствуйте! Мне нужно создать bat-файл со скриптом, который переименует все файлы в папке C:\SEPT...

Переименовать несколько файлов через командную строку одной командой
Задача заключается в том чтобы переименовать несколько файлов через командную строку одной...

2
250 / 250 / 135
Регистрация: 09.04.2011
Сообщений: 524
19.01.2012, 20:28 2
Попробуй:
C#
1
2
3
4
5
6
7
8
private void cmdArchive(String Input, String Output)
        {
            System.Diagnostics.Process cmdarch = new System.Diagnostics.Process();
            cmdarch.StartInfo.FileName = @"cmd.exe";
            cmdarch.StartInfo.Arguments = "/C " + "\"" + arch + "\" a " + Input + " " + Output;
            cmdarch.Start();
            cmdarch.WaitForExit();
        }
1
123 / 123 / 17
Регистрация: 30.06.2010
Сообщений: 478
19.01.2012, 20:55  [ТС] 3
Все работает. Про WaitForExit догадывался, но не мог вспомнить как вызвать
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.01.2012, 20:55
Помогаю со студенческими работами здесь

Как передать строку из слов и пробелов через командную строку?
Я сделал запуск проги через командную строку. Теперь считываю параметры. Ничего сложного. Один...

Не открываются порты как через GUI, так и через командную строку
Привет, уважаемые форумчане, Сервер 12 не открывает порты как через GUI, так и через командную...

Как построить проект через командную строку?
Версия Delphi: Delphi XE4. Нужно через командную строку построить проект в режиме Win 32...

Как заархивировать файлы через Командную строку?
Как заархивировать все файлы ( …) из каталога К и поместить их архив Ar на диск F и запустить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru