2008-11-27 16 views
5

मैं पर्यावरण चर का मूल्यांकन करने के बजाय एक पर्यावरण चर के संदर्भ में कच्चे पाठ को संदर्भित करना चाहता हूं।विंडोज कमांड लाइन: पर्यावरण परिवर्तनीय का गैर मूल्यांकन

मैं इस कमांड लाइन से BizTalk विन्यस्त करने की जरूरत, उदाहरण के लिए:

BTSTask.exe AddResource -ApplicationName: APP1 -प्रकार: System.BizTalk: BizTalkAssembly -Overwrite स्रोत: .. \ स्कीमा \ बिन \ विकास \ App1.Schemas.dll -डिस्टिनेशन:% BTAD_InstallDir% \ App1.Schemas.dll

यह आदेश BizTalk एप्लिकेशन को संसाधन जोड़ता है। मैं गंतव्य को% BTAD_InstallDir% \ App1.Schemas.dll होना चाहता हूं, हालांकि वर्तमान में यह पर्यावरण चर (कुछ भी नहीं) का मूल्यांकन कर रहा है और \ App1.Schemas.dll का उपयोग कर रहा है।

क्या इस कमांड को निष्पादित करते समय इस पर्यावरण चर के मूल्यांकन से बचना या अक्षम करना संभव है?

मैंने गाजर (^) के साथ पहले और दोनों प्रतिशत वर्णों से बचने की कोशिश की है, हालांकि इसने मूल्यांकन को रोक नहीं दिया।

[संपादित करें] जब मैं कमांड प्रॉम्प्ट पर इसे निष्पादित करता हूं तो यह पर्यावरण चर को प्रतिस्थापित नहीं करता है, हालांकि जब मैं इसे एक स्क्रिप्ट के रूप में चलाता हूं, तो यह विचार होता है कि यह अलग क्यों है?

उत्तर

3

था:

%%BTAD_InstallDir%% 
अपनी स्क्रिप्ट में

?

यह स्क्रिप्ट को चर की व्याख्या करने से रोकना चाहिए, और यह प्रोग्राम में %BTAD_InstallDir% पास करेगा।

+0

शानदार, यह बहुत अच्छा काम करता है। क्या यह काम करता है क्योंकि यह% BTAD_InstallDir% को एक चर के रूप में हल नहीं कर सकता है और इसलिए इसे मूल मूल्य के रूप में छोड़ देता है? – marcj

+1

%%% की व्याख्या करने का बैच तरीका नहीं है। चर के लिए प्रयुक्त (जैसा कि '%% की बजाय %%' में है), क्योंकि बैच% 1,% 2,% 3 में विशेष अर्थ है। – VonC

2

% के बजाय ^% का प्रयास करें।

+0

आपके उत्तर माइकेज के लिए धन्यवाद, दुर्भाग्य से यह अभी भी पर्यावरण चर का मूल्यांकन करता है। शायद मुझे अपने प्रश्नों को उन दृष्टिकोणों का उल्लेख करने के लिए संपादित करना चाहिए जिन्हें मैंने पहले ही कोशिश की है। – marcj

4

कोशिश गूंज ^% पथ^एक आदेश में% का संकेत यह प्रिंट ...

पथ

बजाय वातावरण चर का विस्तार तो मैं निम्नलिखित आप के लिए काम करना चाहिए के रूप में सुझाव लगता है APP1 -प्रकार: System.BizTalk: BizTalkAssembly -Overwrite स्रोत: .. \ स्कीमा \ बिन \ विकास \ App1.Schemas.dll -Destination: ^% BTAD_Ins Mikeage

BTSTask.exe AddResource -ApplicationName द्वारा tallDir ^% \ App1.Schemas.dll

+0

बल्कि विचित्र रूप से, भले ही मैं प्रतिशत से बच न जाऊं, यह तब भी काम करता है जब मैं इसे सीधे कमांड लाइन पर टाइप करता हूं, लेकिन जब मैं इसे .cmd स्क्रिप्ट से नहीं चलाता। कोई विचार? – marcj

1

की कोशिश की:

C:\PrgCmdLine\Unix\echo.exe "%"JAVA_HOME"%" 

गॉट:

%JAVA_HOME% 

[संपादित करें] दरअसल, C:\PrgCmdLine\Unix\echo.exe ^%JAVA_HOME^% भी काम करता है, और सरल है ...

[संपादित करें 2] रिकॉर्ड के लिए: मैंने एक सादा कार्यक्रम के व्यवहार के लिए UnxUtils 'गूंज का उपयोग किया। प्रतिध्वनि में कम से कम उद्धृत% संकेतों के लिए गूंज में निर्मित थोड़ा अलग व्यवहार होता है। तुम कोशिश

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