У меня есть пакетный скрипт для создания резервной копии примерно 30 мест в рабочей сети, и он работает.Сейчас я программирую то же приложение, но в MFC VC ++, поэтому я использую небольшой трюк, чтобы установить параметры для xcopy в строке, а затем выполнить его с ShellExecute
.
m_destination
- переменная из поля ввода в качестве пункта назначенияввод, куда идут файлы.
Код:
if (m_line1.GetCheck() == BST_CHECKED)
{
temp_dest = _T("/min /c xcopy \"\\\\pc_name.sub_domain.domain.local\\c$\\Users\\Test\\Desktop\\Test\\*.*\" \"") + m_destination + _T("\" /Y /E /Q");
ShellExecute(
GetSafeHwnd(),
L"open", // open edit print
L"C:\\Windows\\System32\\cmd.exe", // FILE PATH,
temp_dest, // PARAMETERS
NULL, // WORKING DIR
SW_HIDE); // WINDOW SHOW HIDE
m_status = "Line 1 - OK\r\n";
}
Этот код выше работает, но есть некоторые случаи, когда целевой компьютер выключается и в окне cmd он говорит:путь изменился или пункт назначения недоступен "(что-то в этом роде).В этом случае% errorlevel% имеет некоторое значение, а другое - если копирование успешно выполнено.Тогда у вас есть условие, чтобы вызвать различные предупреждения для пользователя.Дело в том, что я понятия не имею, как его перехватить, чтобы указать на неудачное копирование.
Мне нужно какое-то предупреждение, что копирование с этого компьютера не завершено.Как я могу получить код ошибки после копирования таким образом?
Или, если есть простая функция для замены copyx копированием (*. *) (Все содержимое), с возможностью направления в конкретный каталог, я быхотел бы услышать об этом.
Заранее спасибо.