У меня возникла проблема с использованием команды 'xcopy'.
Я собираю проект на C# с помощью msbuild. В конце сборки вызывается пакетный файл для копирования моих сборок из Debug/Release в некоторые другие папки.
Вот в чем проблема, моя сборка не работает и в журнале ошибок 'xcopy не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл'.
Путь задан правильно, xcopy работает из командной строки windows и из командной строки visual studio (той, что установлена в окружении проекта).
Я пытался задать путь в пакетном файле, но это не помогает.
Есть какие-нибудь предложения?
Я использую windows 7
Ваше здоровье :)
Я столкнулся с той же проблемой.
Похоже, что это проблема с переменной среды path в Visual Studio.
Когда я добавил оператор "path" в начало события сборки, он выдал следующий результат:
PATH=
Это указывает на то, что путь пуст в среде сборки VS.
Когда я указываю полный путь к xcopy таким образом, проблема исчезает:
%systemroot%\System32\xcopy ...
Я не уверен, что Visual Studio потеряла путь.
Установите переменную среды PATH = %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
.
Это не проблема с Windows 7 или 8. Это'ы на самом деле проблема с приложениями, обновить переменные среды, такие как путь. Путь хранится в реестре как-то "расширяемый строковый параметр" и (reg_expand_sz Для), но много применений для записи в реестр, как и "строковое значение и" (Тип reg_sz). Если ваш путь содержит например, %systemroot%, этого не будет расширяться в C:\Windows (или каким бы ни был твой) если путь сохранено в типа reg_sz.
Исправить это можно просто отредактировать пути вручную с панели управления. Вам нужно внести изменения (например, добавление ; до конца пути), а затем применить его. Это будет исправить путь в реестре должен быть reg_expand_sz для. (Перейти на панель управления Система и выбираем Дополнительные параметры системы. Отредактировать переменную среды PATH в нижнем поле, и это должно исправить.
Вы можете сказать, является ли ваш путь нарушается таким образом, открыв командную строку и введя путь. Ваш путь будет указан. Если вы видите, что заключенный в % %, то ваш путь не расширяется.
Это случилось со мной после того, как я обновил один из моих визуальная студия расширения, в ходе которых Visual Studio был закрыт и открыт обновления. Я больше не мог правильно построить мой проект. Я закрыл в Visual Studio и вытащил его и проблема ушла.
Я просто пережил это впервые с пакетный файл, я использую, чтобы скопировать фронтальный доступ к приложению для пользователей'с локальной машины. Их среда-это сочетание Windows 7 и усилителя; 8 и 32-64 битных машинах. Я заметил, что xcopy.exe был и в System32 и папки SysWOW64, а я подумал, если там был какой-то конфликт. Так что ... я скопировал xcopy.exe в папку, где находится файл пакета, и теперь это, кажется, работает. Просто думал, что я'd доля этого.
Эйлин
У меня также возникла проблема с xcopy (то же сообщение об ошибке) - с очень простой пакетной программой, которую я использую для резервного копирования файлов на съемный диск. Я использую эту программу по крайней мере 5 лет без каких-либо проблем. И вот вчера xcopy неизвестно как работает в Win7. Замена xcopy на %systemroot%\System32\xcopy в каждом экземпляре решила проблему. Очень странно.
[Ремонт] После добавления правильного пути, чтобы "Путь" в переменной окружающей среды до сих пор не't работа (по УМК и VisualStudio) (даже после перезагрузки ПК).
Проблема была в сломанной параметр реестра: [Раздел HKEY_LOCAL_MACHINE\система\CurrentControlSet на\управление\диспетчер сеансов\среда] Имяпараметра=PATHEXT
Я имел значение .wlua;.|ехе. Возможно была нарушена после установки. Все снова работает после изменения это: .Ком;.Ехе;.Летучая мышь;.УМК;.ВБС;.ВБЕ;.Яш;.ЙФБ;.ВСФ;.Выключатели;.МСЦ
Надеюсь, что это помогает, если ничего другого произведения.
Перейти к переменной среды и правильного пути в том числе ;
в прошлом.
Он будет работать, это совсем не связано с ОС или технологии.
Это's работает для меня, даже не нужно, чтобы перезагрузить ОС, просто откройте новое окно командной строки.