2010-12-02 17 views
14

He implementado el método de Scott Hanselman para mantenerse al día con una versión dev/qa/prod del web.config: http://www.hanselman.com/blog/CommentView.aspx?guid=93bfa4b3-44cd-4681-b70e-f4a2b0386466¿Cómo resuelvo '@ echo' no es un comando reconocido

Por alguna razón, cuando compilar mi proyecto Recibo este mensaje de error en mi ventana de salida.
Alguna idea?

------ 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. 

Aquí está el archivo de 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. 

Respuesta

28

El archivo es probablemente codificados con Unicode y tiene una Byte Order Mark (BOM) al inicio que está arrojando el procesador por lotes.

Guárdalo como un archivo ASCII y deberías estar bien. Puede hacerlo en notepad - seleccione Save As... en el menú File y asegúrese de que el menú desplegable Encoding esté configurado en ANSI.

+1

Este problema resolvió un problema de inicio de Azure en el que estaba trabajando. El archivo .cmd que estaba usando se creó como UTF-8 y no como ANSI. Cambiarlo de la manera que sugirió solucionó el problema. – Bern

+0

Lástima que el estudio visual tenga utf-8 como predeterminado y que deba volver al bloc de notas (++) para guardarlo como ansi ... –

+0

@JPHellemons: puede guardar con una codificación diferente directamente en Visual Studio. https://msdn.microsoft.com/en-us/library/dxfdkfke.aspx – Oded

2

Creo que su archivo está codificado en Unicode y debe ser ascii.

1

Tropezamos con un problema similar. Encontré que en Visual Studio, si abre su archivo * .bat, puede elegir Archivo -> Opciones avanzadas de guardado. En el menú desplegable bajo codificación, seleccione 'US-ASCII - Página de códigos 20127'

2

Un archivo llamado 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:\> 

Un eco en la carpeta actual o en la ruta lo provocará.

/echo

Cuestiones relacionadas