फ़ाइल नाम में पहले शब्द के आधार पर सबफ़ोल्डर्स में फ़ाइलों को स्थानांतरित करने के लिए विंडोज बैच फ़ाइल?


1

मैं थोड़ा बैच फ़ाइल नोब का हूं, इसलिए मैं वास्तव में आपकी मदद की सराहना करूंगा। मेरे पास एक निर्देशिका में संग्रहीत एक टन फाइलें हैं जो मैं अपने फाइल में पहले शब्द के आधार पर सबफ़ोल्डर्स में सॉर्ट करना चाहता हूं। इसलिए, मेरे पास इस तरह की फाइलें हैं:

C:\Folder\Wedding2018 img20929.jpg 
C:\Folder\Wedding2018 entrance.mov
C:\Folder\Wedding2018 registry of guests.pdf

C:\Folder\HorseRiding2017 spirit1.jpg
C:\Folder\HorseRiding2017 guests.txt 
C:\Folder\HorseRiding2017 certificate.pdf
C:\Folder\HorseRiding2017 jumping.mov

और मैं पहले शब्द के आधार पर सबफ़ोल्डर्स के लिए सभी फ़ाइलों को स्थानांतरित करना चाहता हूं, इस तरह समाप्त होता है:

C:\Folder\Wedding2018\img20929.jpg
C:\Folder\Wedding2018\entrance.mov
C:\Folder\Wedding2018\registry of guests.pdf

C:\Folder\HorseRiding2017\spirit1.jpg
C:\Folder\HorseRiding2017\guests.txt
C:\Folder\HorseRiding2017\certificate.pdf
C:\Folder\HorseRiding2017\jumping.mov

मुझे कुछ स्क्रिप्ट मिली हैं, जो मुझे लगभग चाहिए, लेकिन मेरे पास इसे घर लाने के लिए चॉप्स नहीं हैं:

"फ़ाइल नाम और ऑटो चालन फ़ाइलों के आधार पर फ़ोल्डर बनाने के लिए एक स्क्रिप्ट की आवश्यकता है"

"कैसे विंडोज़ बैच के माध्यम से स्ट्रिंग का दूसरा शब्द निकालने के लिए"

मैं अभी यह पता नहीं लगा सकता कि पहले शब्द को हथियाने के लिए स्क्रिप्ट को कैसे एकीकृत किया जाए और एक निर्देशिका बनाई जाए, जिसमें फाइलों को स्थानांतरित किया जाएगा।

क्या आप मुझे इस रेखा के पार जाने में मदद कर सकते हैं?

जवाबों:


1
  • %%Aकम से कम एक स्थान वाले पैटर्न के साथ फ़ोल्डर सामग्री को पुनरावृत्त करने के लिए एक का उपयोग करें ।
  • एक और for /fनाम को विभाजित करने की जरूरत है %%Aदो भागों, पहले अंतरिक्ष से पहले एक में tokens=1= %%Bऔर बाकी tokens *= %%C
  • यदि %%Bऐसा नहीं है नाम के साथ एक फ़ोल्डर बनाएँ
  • मूल फ़ाइल %%Aको %%Bनाम के साथ सबफ़ोल्डर में ले जाएं%%C

:: Q:\2018\06\11\SU_1330475.cmd
@Echo off
PushD C:\folder
for %%A in ("* *.*") do for /f "tokens=1*" %%B in ("%%A") do (
     If not exist "%%B" MD "%%B"
     Move "%%A" "%%B\%%C"
)
PopD

> tree /f
C:.
│   SU_1330475.cmd
└───folder
    ├───HorseRiding2017
    │       certificate.pdf
    │       guests.txt
    │       jumping.mov
    │       spirit1.jpg
    └───Wedding2018
            entrance.mov
            img20929.jpg
            registry of guests.pdf

यह एक परम आकर्षण की तरह काम किया - धन्यवाद। फ़ाइलों की एक बड़ी मात्रा के साथ परीक्षण में, केवल हिचकी मैंने देखा कि पहले शब्द के बाद एक डबल स्थान वाली फ़ाइलों के लिए, यह उन्हें संभालने में पूरी तरह से विफल रहा - आसानी से तय किया गया
9

यदि आपको मेरा उत्तर उपयोगी लगता है, तो चाक अंकन को उत्तर के रूप में मानें और / या वोट दें
लॉटिंग्स

-1

क्या यह एक बैच फ़ाइल होना चाहिए?

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

आप Wedding2018 नामक एक नया फ़ोल्डर बनाते हैं और CTRL + V (पेस्ट) दबाते हैं। इसलिए आप अपने इच्छित प्रत्येक फ़ोल्डर के लिए करते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.