Как разрешить "@echo" не является распознанной командой

Я реализовал метод Scott Hanselman для поддержки версии dev/qa/prod для web.config: http://www.hanselman.com/blog/CommentView.aspx?guid=93bfa4b3-44cd-4681-b70e-f4a2b0386466

По какой-то причине, когда я компилирую свой проект, я получаю это сообщение об ошибке в окне вывода.
Есть идеи?

------ Build started: Project: ABC.Flims.Web, Configuration: Development Any CPU ------
"C:\Projects\ballyhoo-trunk\src\ABC.Flims.Web\scripts/copyifnewer.bat" "C:\Projects\ballyhoo-trunk\src\ABC.Flims.Web\web.config.Development" "C:\Projects\ballyhoo-trunk\src\ABC.Flims.Web\web.config"
'@echo' is not recognized as an internal or external command,
operable program or batch file.  

Вот файл script:

@echo off
echo Comparing two files: %1 with %2

if not exist %1 goto File1NotFound
if not exist %2 goto File2NotFound

fc %1 %2 
if %ERRORLEVEL%==0 GOTO NoCopy

echo Files are not the same.  Copying %1 over %2
copy %1 %2 /y & goto END

:NoCopy
echo Files are the same.  Did nothing
goto END

:File1NotFound
echo %1 not found.
goto END

:File2NotFound
copy %1 %2 /y
goto END

:END
echo Done.

Ответ 1

Файл, вероятно, кодируется в кодировке Юникод и имеет "Байт Order Mark" (BOM) в начале, который отбрасывает пакетный процессор.

Сохраните его как файл ASCII, и все будет в порядке. Вы можете сделать это в notepad - выберите Save As... в меню File и убедитесь, что выпадающее меню Encoding установлено на ANSI.

Ответ 2

Я думаю, что ваш файл закодирован в Юникоде и должен быть ascii.

Ответ 3

Файл с именем echo.

P:\>echo.


P:\>dir /b echo
File Not Found

P:\>echo echo >echo

P:\>dir /b echo
echo

P:\>echo.
'echo.' is not recognized as an internal or external command,
operable program or batch file.

P:\>del echo

P:\>dir /b echo
File Not Found

P:\>echo.


P:\>

Эхо в текущей папке или в пути вызовет это.

/эхо

Ответ 4

Наткнулся на подобную проблему. Найдено, что в visual studio, если вы откроете свой *.bat файл, вы можете выбрать File → Advanced Save Options. В раскрывающемся меню под кодировкой выберите "US-ASCII - Codepage 20127"