2010-12-02 12 views
14

मैं एक देव/क्यूए/web.config की prod संस्करण के साथ रखने के लिए स्कॉट Hanselman विधि को क्रियान्वित किया है नहीं है: http://www.hanselman.com/blog/CommentView.aspx?guid=93bfa4b3-44cd-4681-b70e-f4a2b0386466मैं कैसे ठीक करूं '@echo' किसी मान्यता प्राप्त आदेश

किसी कारण से जब मैं मेरी परियोजना को संकलित करें मुझे यह आउटपुट विंडो में यह त्रुटि संदेश मिलता है।
कोई विचार?

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

उत्तर

28

फ़ाइल शायद यूनिकोड इनकोडिंग है और शुरू कि बंद बैच प्रोसेसर फेंक रहा है पर एक Byte Order Mark (BOM) है।

इसे एक ASCII फ़ाइल के रूप में सहेजें और आपको ठीक होना चाहिए। आप इसे notepad में कर सकते हैं - Save As...File मेनू से चुनें और सुनिश्चित करें कि Encoding ड्रॉपडाउन ANSI पर सेट है।

+1

इस समस्या ने एक Azure स्टार्टअप समस्या हल की जिस पर मैं काम कर रहा था। मैं जिस .cmd फ़ाइल का उपयोग कर रहा था वह यूटीएफ -8 के रूप में बनाया गया था और एएनएसआई नहीं। जिस तरह से आपने सुझाव दिया है उसमें इसे बदलना समस्या हल हो गई है। – Bern

+0

बहुत खराब है कि विजुअल स्टूडियो में डिफ़ॉल्ट रूप से utf-8 है और मुझे ansi के रूप में सहेजने के लिए नोटपैड (++) पर वापस जाने की आवश्यकता है ... –

+0

@JPHellemons - आप विजुअल स्टूडियो में सीधे एक अलग एन्कोडिंग के साथ सहेज सकते हैं। https://msdn.microsoft.com/en-us/library/dxfdkfke.aspx – Oded

2

मुझे लगता है कि आपकी फ़ाइल यूनिकोड एन्कोडेड है और इसे एसीआईआई होने की आवश्यकता है।

1

इसी तरह के मुद्दे पर ठोकर खाई। पाया गया कि दृश्य स्टूडियो के भीतर, यदि आप अपनी * .bat फ़ाइल खोलते हैं, तो आप फ़ाइल -> उन्नत सहेजें विकल्प चुन सकते हैं। एन्कोडिंग के तहत ड्रॉप-डाउन मेनू से, 'यूएस-एएससीआईआईआई - कोडपेज 20127'

2

इको नाम की एक फ़ाइल का चयन करें।

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:\> 

वर्तमान फ़ोल्डर में या पथ में एक गूंज इसका कारण बन जाएगा।

/echo

संबंधित मुद्दे