फ़ाइल नाम शुरू करने के लिए अपील करें


4

मैं एक बैच फ़ाइल का उपयोग करके फ़ोल्डर में सभी एमपी 3 फ़ाइलों में [रिप्ले] शब्द जोड़ने की कोशिश कर रहा हूं:

@echo off
for %a in (c:\folder\*.mp3) do ren %a [Replay]%a

लेकिन यह फ़ाइलों का नाम नहीं बदलेगा।

गुग्लिंग से आजमाए गए सभी उदाहरण शब्द को जोड़ते हैं, लेकिन फ़ाइल नाम में अगले वर्णों पर चलते हैं, मुझे केवल अक्षर को चलाने के बिना शब्द को शुरुआत में जोड़ना होगा।

कोई विचार?

जवाबों:


6

आपकी बैच फ़ाइल में तीन समस्याएं हैं:

  • बैच फ़ाइलों में, आपको %%aइसके बजाय उपयोग करना होगा %a

  • %%a पूरा रास्ता पकड़ेगा, सिर्फ नाम नहीं।

  • फ़ाइल नाम में रिक्त स्थान होने पर नाम बदल जाएगा।

सामान्य तौर पर, मैं echoसमस्या निवारण करते समय छोड़ने की सलाह देता हूं ।

इसके बजाय यह प्रयास करें:

cd /d c:\folder
for %%a in (*.mp3) do ren "%%a" "[Replay]%%a"

यदि वह दो बार फाइलों का नाम बदल देता है, forतो वह निर्देशिका प्रविष्टियों को पढ़ रहा है क्योंकि यह जाता है। वर्कअराउंड के रूप में, आप अस्थायी फ़ाइल में सूची को सहेज सकते हैं:

cd /d c:\folder
dir /b *.mp3 > temp
for /f "delims=" %%a in (temp) do ren "%%a" "[Replay]%%a"
del temp

धन्यवाद डेनिस, अपने विधि works..although, यह दो बार शब्द कहते हैं .. रेन "के बदले" चाल "लेकिन एक ही परिणाम" [रिप्ले] [रिप्ले] bla bla.mp3 ... मैं करने की कोशिश की "..
TonalDev

1
दिलचस्प। यह मेरी मशीन पर अलग तरह से व्यवहार करता है। यह संस्करण पर या फ़ाइलों की संख्या पर निर्भर हो सकता है।
डेनिस

अब अपने वर्कअराउंड की कोशिश कर रहा हूँ ... मैं विंडोज सर्वर 2012 का उपयोग कर रहा हूँ
TonalDev

1
आपका स्वागत है! ऐसा है forकि अलग तरह से व्यवहार करता है। यह एक बार में निर्देशिका सामग्री को नहीं पढ़ता है, इसलिए यह प्रभावी रूप से दो बार नामांकित फ़ाइलों को ढूंढता है।
डेनिस

2
डीओ क्लॉज से सरल पुनरावृत्तियों को प्रभावित किया जा सकता है। डीओ क्लॉज के लिए / एफ प्रभावित नहीं हो सकता। आप DIR आदेश को संसाधित करने के लिए FOR / F का उपयोग करके अस्थायी फ़ाइल से बच सकते हैं for /f "eol=: delims=" %%a in ('dir /b *.mp3') do ...:। मैंने EOL =: को उन फ़ाइल नामों से बचाने के लिए जोड़ा ;, जो शुरू होते हैं , हालांकि मुझे संदेह है कि आप कभी भी एक में चलेंगे :)
dbenham
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.