如何解决'@echo'不是公认的命令

Mik*_*osa 19 asp.net visual-studio-2008 visual-studio

我已经实现了Scott Hanselman的方法来跟上web.config的dev/qa/prod版本: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.  
Run Code Online (Sandbox Code Playgroud)

这是脚本文件:

@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.
Run Code Online (Sandbox Code Playgroud)

Ode*_*ded 39

该文件可能是Unicode编码的,并且在开始处有一个字节顺序标记(BOM),它会丢弃批处理器.

将其保存为ASCII文件,您应该没问题.您可以执行此操作notepad- Save As...File菜单中选择并确保将Encoding下拉列表设置为ANSI.

  • 此问题解决了我正在处理的Azure启动问题.我使用的.cmd文件创建为UTF-8而不是ANSI.以您建议的方式更改它可以解决问题. (2认同)

Ste*_*nJW 5

偶然发现了类似的问题。发现在 Visual Studio 中,如果打开 *.bat 文件,可以选择“文件”->“高级保存选项”。从编码下的下拉菜单中选择“US-ASCII - 代码页 20127”


小智 5

一个名为 echo.txt 的文件。

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:\>
Run Code Online (Sandbox Code Playgroud)

当前文件夹或路径中的回显将导致此问题。

/回声