我已经实现了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.
这是脚本文件:
@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.
答案 0 :(得分:37)
该文件可能是Unicode编码的,并且在开始时有一个Byte Order Mark(BOM),它会抛弃批处理器。
将其保存为ASCII文件,您应该没问题。您可以在notepad
中执行此操作 - 从Save As...
菜单中选择File
,并确保Encoding
下拉列表设置为ANSI
。
答案 1 :(得分: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:\>
当前文件夹或路径中的回显将导致此。
/回波
答案 2 :(得分:2)
我认为你的文件是Unicode编码的,需要是ascii。
答案 3 :(得分:2)
偶然发现了类似的问题。在visual studio中发现,如果你打开* .bat文件,你可以选择File - >高级保存选项。从编码下的下拉菜单中,选择' US-ASCII - 代码页20127'