2011-05-31 7 views
10

क्या एक बैच फ़ाइल में एक पथ में अग्रेषित करने के लिए, के बाद से मैं निष्पादन के लिए बैश उपयोग करने की आवश्यकता सभी बैकस्लैश परिवर्तित करने का सबसे आसान तरीका। variable में str1 के हर घटना को बदलने के लिएबैच फ़ाइलों में अग्रेषित करने के लिए बैकस्लैश परिवर्तित

%variable:str1=str2% 

:

+0

... कौन सा एक यह क्या है? बैच या बैश? बैच विंडोज के लिए है, बैश लिनक्स (और मैक?) के लिए है। – RobinJ

+0

मैं बैच (विंडोज़) चला रहा हूँ, – remo

+0

आह, विन-बैश lik कुछ (खिड़कियों पर, मैं मशीन पर स्थापित बैश है) बैश का उपयोग कर एक कर फ़ाइल के निर्माण के लिए, मुझे लगता है की ज़रूरत है? तो ... आप एक फ़ाइल (MS-DOS बैच का प्रयोग करके) पढ़ा है, और/करने के लिए \ की सभी आवृत्तियां बदलना चाहते हैं। क्या वो सही है? – RobinJ

उत्तर

21
SET "string=D:\path\to\folder" 
ECHO %string:\=/% 

मूल रूप से, आप एक वातावरण चर में स्ट्रिंग मान संग्रहीत करने के लिए, उसके बाद निम्न टेम्पलेट का उपयोग पहले की जरूरत है str2 के साथ।

तुम हमेशा कमांड प्रॉम्प्ट से SET /? लागू करके इस पैटर्न के बारे में अपने आप को याद दिला सकता है।

2
echo 'C:\Program Files\Program' | sed -e 's/\\/\//g' 
+0

मैं हो रही है एक "sed: -e अभिव्यक्ति # 1, चार 8: समाप्त नहीं' s 'कमांड "त्रुटि – remo

+0

" गूंज' सी: \ Program Files \ प्रोग्राम '| एसईडी -es/\ \/\ // g "अच्छा काम करता है – remo

+1

वैकल्पिक रूप से, पैकेट बाड़ से बचने के लिए: 'echo' सी: \ प्रोग्राम फ़ाइलें \ प्रोग्राम '| sed -e _ _\ _/_ g'' है – vmrob

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