बैच का नाम कैसे बदलें [डुप्लिकेट]


-1

इस प्रश्न का पहले से ही यहाँ एक उत्तर है:

मेरे हजारों एपिसोड हैं जिनका मैं नाम बदलना चाहता हूं जो सभी एक सिमिलर प्रारूप में हैं।

अगर मैं इसे मैन्युअल रूप से करना चाहता था, तो यह वास्तव में लंबा समय लगेगा।

इसलिए मुझे निम्नलिखित उदाहरणों को बदलने के लिए एक सरल तरीके की आवश्यकता होगी:

[स्रोत] SERIESNAME _-_ 001_EpisodeName_ [480p] [डीवीडी] [अपलोडर]

[स्रोत] SERIESNAME _-_ 010_EpisodeName_ [720p] [BD] [अपलोडर]

[स्रोत] SERIESNAME _-_ 100_EpisodeName_ [1080p] [BD] [अपलोडर]

करने के लिए बस:

सीरीजनाम 1 एपिसोड - एपिसोडनेम

सीरीज़ नेम 10 एपिसोड - एपिसोडनेम

सीरीजनाम 100 एपिसोड - एपिसोडनाम

मैं इसे कैसे हासिल कर पाऊंगा?


बैच में फ़ाइलों के नाम बदलने के बारे में यहाँ बहुत सारे प्रश्न हैं। अब तक तुमने क्या प्रयास किये हैं?
music2myear

मैंने "बैच का नाम बदलें उपयोगिता" की कोशिश की है और इस सूत्र का उपयोग किया है: [मिलान (0) (*। *) और प्रतिस्थापित करें: \ 2] लेकिन इसने केवल संख्या से पहले वर्ण हटा दिए।
Daryll McDonald

जवाबों:


1

मैं कारणों की छँटाई के लिए निरंतर प्रकरण संख्या की लंबाई रखूँगा।

एक्सटेंशन के बारे में क्या (मेरे एक लाइनर उन्हें संरक्षित करता है)?

कमांड लाइन में:

for %F in ([*) do @for /f "tokens=2-4 delims=-_[]" %A in ("%F") do @echo Ren "%~fF" "%A Episode %B - %C%~xF"

नमूना उत्पादन:

Ren "Q:\Test\2018\04\05\[Source]SeriesName_-_001_EpisodeName_[480p][DVD][Uploader]" "SeriesName Episode 001 - EpisodeName"
Ren "Q:\Test\2018\04\05\[Source]SeriesName_-_100_EpisodeName_[1080p][BD][Uploader]" "SeriesName Episode 100 - EpisodeName"
Ren "Q:\Test\2018\04\05\[Source]SeriesName_-_010_EpisodeName_[720p][BD][Uploader]" "SeriesName Episode 010 - EpisodeName"

एक बैच फ़ाइल में सभी प्रतिशत संकेतों को दोगुना करें।

सभी के लिए पहला एक के साथ शुरू सभी मदों को पुन: प्रसारित करता है [
दूसरे के लिए सभी निर्दिष्ट परिसीमाओं में नाम विभाजित करता है (आस-पास वाले केवल एक को गिनते हैं) केवल दूसरे से चौथे स्थान पर ले जाते हैं। रेन कमांड केवल सुरक्षा कारणों से गूँजती है। आउटपुट ठीक है, तो प्रतिध्वनि निकालें।

संपादित करें: यह बैच फ़ाइल संस्करण अग्रणी शून्य हटाता है:

:: SU1310869.cmd
@Echo off&SetLocal EnableExtensions EnableDelayedExpansion
:: cd /d "X:\folder\episodefiles
for %%F in ([*) do @for /f "tokens=2-4 delims=-_[]" %%A in ("%%F") do (
  set /a Num=1%%B - 1000
  @echo Ren "%%~fF" "%%A Episode !Num! - %%C%%~xF"
)

धन्यवाद LotPings, .bat कमांड लाइन काम करने लगती है, लेकिन मुझे प्रत्येक संख्या से पहले शून्य को हटाने का तरीका चाहिए
Daryll McDonald

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