2010-07-08 6 views
11

मेरे मैक पर एक बैश खोल स्क्रिप्ट है, मुझे पीसी पर मौजूद उपयोगकर्ताओं के लिए एक .bat फ़ाइल में परिवर्तित करने की आवश्यकता है (कम से कम, मुझे यही बताया गया है)। मैं इस बारे में जाने का सबसे अच्छा तरीका सोच रहा था, या अगर किसी को किसी भी अच्छे संदर्भ के बारे में पता है। मुझे सही दिशा में इंगित करने के लिए Google को सही सवाल नहीं पूछ रहा है।मैं बैश खोल स्क्रिप्ट को .bat फ़ाइल में कैसे परिवर्तित करूं?

विशेष रूप से, जैसी बातों मैं कैसे करना होगा एक ...

cd ~/Documents/DropFolder 

(... जहां ~ /, उपयोगकर्ता के घर निर्देशिका की जड़ के बराबर होती है उपयोगकर्ता का नाम की परवाह किए बिना)?

या, जब चर पर काम कर रहा है और बयान

for i in *.xml 
do 
    java -Xss650K -Xms128m -Xmx2048m -jar /Applications... 
done 

और अंत में, की पहचान करने और basenames का उपयोग कर ...

cp -p `basename $i .xml`.xml ~/Documents/ReadyForServer/`basename $i .xml`/ 

किसी भी मार्गदर्शन के लिए धन्यवाद, या सुझाव के लिए "do" ... अन्य समाधान LO

+0

मुझे लगता है कि यह लिंक आपके लिए उपयोगी है है के लिए Git का उपयोग कर सकते हैं। इसमें शेल स्क्रिप्ट और बैट फ़ाइल की तुलना तालिका शामिल है। http://tldp.org/LDP/abs/html/dosbatch.html – SANN3

उत्तर

10

असल में, जो चीजें आप उल्लेख करते हैं वे विंडोज बैच फ़ाइल में बंदरगाह के लिए तुच्छ हैं। आप निश्चित रूप से सभी यूनिक्स उपकरणों के विंडोज पोर्ट का उपयोग करते समय कर सकते हैं (या यहां तक ​​कि और भी अधिक मनोरंजन के लिए एक अनुकरण परत का उपयोग) यह करने के लिए कठिन नहीं है:

  1. ~ उपयोगकर्ता के घर फ़ोल्डर के लिए

    उपयोगकर्ता के प्रोफ़ाइल वातावरण चर %USERPROFILE% में रहता है, तो निम्न यह करना चाहिए: यह

    cd %USERPROFILE%\Documents\DropFolder 
    
  2. फ़ाइलों

    for आदेश का एक सेट से अधिक erating यहाँ उपयोगी है:

    for %%i in (*.xml) do -Xss650K -Xms128m -Xmx2048m -jar ... %%i 
    

    जाहिर है आप, जार फ़ाइल का पथ अनुकूल करने के लिए हालांकि जरूरत है।

    और for इस से परे कई और उपयोग हैं, इसलिए help for पर भी एक नज़र डालें।

  3. basename

    के रूप में निम्न सिंटैक्स पाश चर या पैरामीटर के लिए विशिष्ट है आप या तो एक सबरूटीन या एक for पाश में ऐसा करने की जरूरत है। यह पर्यावरण चर के साथ काम नहीं करेगा। basename आपको %%~ni का उपयोग करके दे रहा है, जहां %%i यदि लूप वैरिएबल या %~n1 यदि %1 आपके पास एक सबराउटिन या बैच फ़ाइल का तर्क है। तो निम्नलिखित शायद ही करना होगा:

    copy "%%~ni.xml" "%USERPROFILE%\Documents\ReadyForServer\%%~ni\" 
    

    मदद for पर अंत के पास उन चीजों पर अधिक जानकारी नहीं है।

+2

क्या कोई रूपांतरण उपकरण है? – Razavi

3

खिड़कियां खोल bash खोल तुलना में एक अलग पटकथा भाषा है। आपको इसे बंद करने की आवश्यकता होगी। वैकल्पिक रूप से, आप विंडोज़ पर बैश खोल चलाने के लिए सिगविन या मिंगव जैसे कुछ का उपयोग कर सकते हैं।

+2

पहला वाक्य वास्तव में स्पष्ट है, वास्तव में। दूसरा एक है - जबकि संभावित रूप से सहायक - वे यहां क्या चाहते हैं के लिए ओवरकिल ... – Joey

0

डीओएस शैली बैच फ़ाइलों को लिखते समय विंडोज़ पर एफ 1 सहायता आश्चर्यजनक रूप से उपयोगी है। विंडोज़ डेस्कटॉप से, एफ 1 दबाएं और बैच की तलाश करें। बैच पैरामीटर का उपयोग करने के लिए लिंक डॉस के साथ अजीब चाल करने के लिए बहुत उपयोगी है। 'बैच फ़ाइलें का उपयोग करना' पृष्ठ भी काफी अच्छा है। जैसा कि अन्य पोस्टर्स का उल्लेख है, आप अपनी कार्यान्वयन भाषा के रूप में बैच से बचने से बेहतर हैं, लेकिन यदि आपको जरूरी है, तो आपको चाहिए।

0

आपको हाथ से परिवर्तित करना चाहिए। बैच कमांड जानें, फिर समकक्ष करें। वैकल्पिक रूप से, आप GNU win32 unix उपकरण का उपयोग कर सकते हैं।

2

आप Windows है, जो पहले से ही एक बैश खोल में निर्मित (GitBash)

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