सवाल सीएमडी बैच का नाम बदलें। टेक्स्ट फ़ाइल से नए नाम पढ़ें


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

Filenames.txt दिया गया:

CurrentName     NewName
DSCN4033.png    750732000259.png
DSCN4023.png    750732000013.png
DSCN4024.png    750732000020.png
DSCN4022.png    750732000099.png

DSCN4033.png 750732000259.png बन जाएगा

अगर मैं बैश के साथ ऐसा कर रहा था, तो आदेश होगा

पुराने पुराने पढ़ने के दौरान; एमवी "$ पुराना" "$ नया" करो; किया <filenames.txt

यह काम पर एक परियोजना के लिए है जो विंडोज बैच फ़ाइल के साथ किया जाना चाहिए ताकि मेरे उत्तराधिकारी को सिगविन के साथ गड़बड़ न हो।


2
2018-05-22 23:46


मूल




जवाब:


बशर्ते आपके वर्तमान नामों में कोई रिक्त स्थान न हो, तो निम्न को कमांड लाइन से काम करना चाहिए:

for /f "skip=1 tokens=1*" %A in (filenames.txt) do ren "%A" "%B"

बैच फ़ाइल में रखे जाने पर पर्सेंट को दोगुना किया जाना चाहिए:

@for /f "skip=1 tokens=1*" %%A in (filenames.txt) do ren "%%A" "%%B"

सीएमडी.एक्सईई के लिए उपलब्ध सबसे जटिल आंतरिक आदेश है। उपयोग help for या for /? प्रलेखन तक पहुंचने के लिए कमांड लाइन से।


3
2018-05-23 12:46



वाह। मैंने कभी इस तरह की कार्यक्षमता के लिए अंदर देखने के लिए सोचा नहीं होगा। - picobit