xcopy /Y /R "%VS140COMNTOOLS%..\IDE\CommonExtensions\Platform\DiagnosticsHub\x86\dbghelp.dll" binaries\msvcr\
Командная строка выше не с сообщением об ошибке ниже в 4-х случаях:
Файл не найден - DBGHELP.DLL
0 Файл (ы) копируется
Путь к папке, присвоенный переменной окружения VS140COMNTOOLS
, не заканчивается обратным слэшем.
Эта возможная причина ошибки, очевидно, не здесь, так как echo %VS140COMNTOOLS%
печатает путь к папке с обратным слэшем в конце.
Переменная среды имеет строковое значение:
%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\Common7\Tools\
Но это не тот случай, как в противном случае echo %VS140COMNTOOLS%
бы напечатать эту строку.
Путь к папке, присвоенный переменной окружения VS140COMNTOOLS
, имеет 1 или более конечных пробелов/вкладок.
Путь к папке, присвоенный переменной окружения VS140COMNTOOLS
, начинается с 1 или более ведущих пробелов/вкладок.
Для второй и третьей причиной ошибки, это поможет запустить echo "%VS140COMNTOOLS%"
и посмотреть, если выход:
«C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ Tools \ "
или
" C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ Tools \»
Использование синтаксиса set variable=value
можете легко получить значение с конечными пробелами/вкладками, назначенными переменной среды, в результате использования в таких ошибках, как эта. Решение использует set "variable=value"
, как подробно объяснено в ответе на Why is no string output with 'echo %var%' after using 'set var = text' on command line?
Для полноты определение переменной окружения VS140COMNTOOLS
с командной строкой
set VS140COMNTOOLS="C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\"
с первой двойной кавычки после знака равенства вместо слева имя переменной и без каких-либо хвостовых пробелов/вкладки приведет к исполнению командной строки:
xcopy /Y /R ""C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\"..\IDE\CommonExtensions\Platform\DiagnosticsHub\x86\dbghelp.dll" binaries\msvcr\
Но эта командная строка приведет к сообщению об ошибке:
Недопустимый номер O f параметры
Таким образом, путь с двойной кавычкой также можно исключить как возможную причину ошибки.
ОТВЕТ: Помочь xcopy
вывод, запустив в окне командной строки xcopy /?
перечисляет необязательные параметры после исходных и целевых параметров. Конечно, можно указать сначала /R /Y
, а затем исходный файл и целевую папку, но в целом рекомендуется использовать синтаксис, как это предлагается с помощью команды.
Является ли пакетный файл состоящим только из этой строки или есть еще за ним? – geisterfurz007
@ geisterfurz007: В настоящее время я тестирую в командной строке, так что больше ничего нет. Только этот «xcopy». –
@ geisterfurz007: хорошо пятнистый. Первая строка верна, я отредактировал вторую. –