2012-08-13 8 views
7

क्या कोई बैट स्क्रिप्ट फ़ाइल में किसी अन्य कमांड के भीतर कमांड चलाने के लिए कोई विंडोज समकक्ष वाक्यविन्यास है?बैश इनलाइन कमांड के लिए विंडोज बल्ले विकल्प

लिनक्स में, आप बस $(...) या `` का उपयोग कर सकते हैं।

+0

विंडोज़ .bat फ़ाइलें एक ऐतिहासिक फेंक हैं, इसके बजाय पर्ल इंस्टॉल क्यों नहीं करें? – cdarke

+0

बैच फ़ाइलों में अभी भी एक स्थान है - उदाहरण के लिए यदि आपको एक स्थापना स्क्रिप्ट के हिस्से के रूप में एक को चलाने के लिए है। आप नहीं मान सकते कि पर्ल उपयोगकर्ता के सिस्टम पर स्थापित किया जाएगा। –

उत्तर

7

हाँ, कम से कम के लिए साधारण चीजें:

@setlocal enableextensions enabledelayedexpansion 
@echo off 
for /f %%w in ('echo xyzzy') do set var=%%w 
echo Output is %var% 
endlocal 

कि स्क्रिप्ट का आउटपुट है:

Output is xyzzy 
xyzzy साथ

echo आदेश से आ रही।

एक कमांड विंडो से for /? चलाना आपको विकल्पों की एक विस्तृत सूची देना चाहिए।

+0

मुझे लगता है कि यह विंडोज कमांडलाइन इंजन द्वारा आंतरिक रूप से 'फॉर-इन' निर्माण द्वारा संभाला जाता है। यह मेरे मामले में काम नहीं कर रहा है: http://stackoverflow.com/questions/11828801/imagmagick-how-to-add-a-gradient-splice-to-an-image-using-one-convert-command/11864792 # 11864792 – Mohsen

+0

@Moshen, 'for' एकमात्र तरीका है जो मुझे लगता है कि आप यह कर सकते हैं। यहां तक ​​कि 'bash'' $() 'के साथ कोड नहीं चला रहा है, यह बस किसी अन्य प्रक्रिया से मानक आउटपुट को प्रतिस्थापित कर रहा है। पर्यावरण परिवेश में इसे संग्रहीत करने के लिए और फिर उस चर का उपयोग करने के लिए यह अलग नहीं है, जैसा कि मेरे उत्तर में है। – paxdiablo

+0

@Mohsen - FOR एक आंतरिक कमांड है, इसलिए यह निश्चित रूप से कमांडलाइन इंजन द्वारा संभाला जा रहा है। – dbenham

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