2009-06-24 41 views
10

मैं एक समय टिकट के साथ अपने एप्लिकेशन फ़ोल्डर का नाम बदलना चाहता हूं और फिर उसी फ़ोल्डर नाम का उपयोग करके अपने ऐप के एक नए संस्करण को अनजिप करना चाहता हूं। चींटी (move task) का उपयोग करके, ऐसा लगता है कि आप सामग्री को एक फ़ोल्डर से दूसरे फ़ोल्डर में स्थानांतरित कर सकते हैं।चींटी का उपयोग कर फ़ोल्डर का नाम कैसे बदलें?

क्या यह एकमात्र तरीका है जो मैं चींटी में कर सकता हूं?

उत्तर

0

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

ऐसा लगता है जैसे आप उस फ़ोल्डर को स्थानांतरित करने का प्रस्ताव कर रहे हैं जिसमें आपकी build.xml फ़ाइल रहता है। क्या वह सही है? यदि ऐसा है, तो मुझे लगता है कि चींटी बहुत खुश नहीं हो सकती है।

+1

अभी मेरे build.xml में मुझे फ़ोल्डर को हटाने और फिर एक ज़िप फ़ाइल को अनजिप करना है जो स्वचालित रूप से उसी फ़ोल्डर नाम के साथ एक नया फ़ोल्डर बनाता है। अब फ़ोल्डर को हटाने के बजाय, मैं इसे फ़ोल्डर नाम में संलग्न टाइमस्टैम्प के साथ बदलना चाहता हूं। – JLau

4

बस जवाब पहले से ही दिया है, जो सही है वर्तनी ...

<project default="move"> 
    <tstamp/> 
    <target name="move"> 
     <move file="foo" tofile="foo-${TSTAMP}"/> 
    </target> 
</project> 

यह फू-HHMM को foo ले जाता है।

उदाहरण के लिए:

$ find . 
. 
./build.xml 
./foo 
./foo/bar.txt 
$ 
$ ant 
Buildfile: C:\tmp\ant\build.xml 

move: 

BUILD SUCCESSFUL 
Total time: 0 seconds 
$ 
$ find . 
. 
./build.xml 
./foo-1145 
./foo-1145/bar.txt 
$ 
+0

मैं टॉफाइल को टोडिर में बदलता हूं और यह ठीक काम करता है। धन्यवाद। – JLau

+0

मैंने टफाइल और टोडिर की कोशिश की, न तो काम किया। यह शिकायत करता है कि 'foo' नहीं मिला - यह मौजूद है, लेकिन एक निर्देशिका है। –

+0

मेरे लिए काम करता है। क्या एक ही डीआईआर में foo build.xml के रूप में है? – sudocode

18

चाल काम क्या आप के बाद कर रहे हैं क्या करता है, लेकिन नामकरण थोड़ा भ्रामक है। यदि आप मानते हैं कि आपकी निर्देशिका जावा अर्थ में 'फ़ाइल' है - एक फ़ाइल एक फाइल सिस्टम हैंडल है जो दूसरों के बीच एक निर्देशिका या फ़ाइल को सामान्य अर्थ में प्रदर्शित कर सकती है - तो चाल कार्य समझ में आता है।

तो निम्नलिखित

<move file="mySourceDirName" tofile="myTargetDirName"/> 

साधन का नाम बदलने/निर्देशिका mySourceDirName ले जाने के बजाय myTargetDirName किया जाना है।

निम्नलिखित तो

<move file="mySourceDirName" todir="someExistingDir"/> 

निर्देशिका mySourceDirName स्थानांतरित करने के लिए मौजूदा someExistingDir निर्देशिका का एक बच्चा निर्देशिका बनने के लिए मायने रखता है।

तो, चींटी में 'फ़ाइल' विशेषता प्रश्न में लक्ष्य को संदर्भित करती है, और 'todir' विशेषता निर्देशिका को संदर्भित करती है जो लक्ष्य फ़ाइल या निर्देशिका के लिए नया मूल स्थान है।

+0

धन्यवाद, मेरे लिए ठीक काम किया। –

1

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

<move todir="newname"> 
    <fileset dir="directory tobe renamed "/> 
</move> 
संबंधित मुद्दे