विंडोज में एक बार में 80.000 फाइलें कैसे बदलें


8

मेरे पास एक फ़ोल्डर में 80.000 फाइलें हैं और मुझे उन सभी का नाम बदलने की आवश्यकता है

filename.jpg

सेवा

._filename.jpg

विंडोज वातावरण में, मुझे लगता है कि डॉस से। कारण यह है कि मैंने इन फ़ाइलों को यूनिक्स से एक tar.gz में संकुचित किया है और खिड़कियों में कॉपी किया है और किसी कारण से फ़ाइल नाम बदल गए हैं।

क्या आप मुझे बता सकते हैं कि इसे करने की आज्ञा क्या है? धन्यवाद

जवाबों:


3

आप अंतर्निहित renameयाren कमांड का उपयोग कर सकते हैं :

ren *.jpg ._*.jpg

हालाँकि, इन सभी चीज़ों के साथ, एक निर्देशिका पर इसे आज़माएँ, जिसमें पहले केवल कुछ फाइलें थीं।


1
मुझे आपका दृष्टिकोण पसंद है, लेकिन मेरे पास 2 मुद्दे हैं: (1) फ़ाइल नाम के पहले अक्षरों को बदल दिया जाता है। अन्य शब्दों में, "._" को शुरुआत में नहीं जोड़ा गया है लेकिन यह पहले 2 अक्षरों को बदल देता है। (२) "._" वास्तव में काम नहीं करता है। अगर मैं उदाहरण के लिए "__" का उपयोग करता हूं तो यह काम करता है। मुझे लगता है कि डॉट, "।" कुछ मुद्दे देता है
aeuryzm 12

@Patrick - मुझे यह स्वीकार करना चाहिए कि मेरे पास इसे पूरी तरह से परखने का मौका नहीं था, और हाँ मुझे लगता है कि आप डॉट के कारण समस्याओं के बारे में सही हैं।
क्रिस एफआर

यह गलत है और यह डॉट्स के कारण नहीं है। renकेवल उसी लंबाई के पाठ के साथ पाठ को बदल सकते हैं। उदाहरण के लिए, यदि आपके पास फ़ाइलें हैं file1.txtऔर file2.txt, ren file*.txt blah*.txtवही करता है जो आप अपेक्षा करते हैं (अब आपके पास फ़ाइलें हैं blah1.txtऔर blah2.txt)। हालांकि, अगर आप टाइप ren blah*.txt myfile*.txtआदेश बम बाहर यह नाम बदलता है क्योंकि blah1.txtकरने के लिए myfile.txtनहीं है ( myfile1.txtनाम नहीं बदल सकते) और फिर blah2.txtकरने के लिए myfile.txt, क्योंकि वह फ़ाइल पहले से मौजूद।
डेविड रिचीर्बी

15

यहाँ PowerShell का उपयोग करने का एक तरीका है:

अपने फ़ोल्डर में नेविगेट करें और इस कमांड को चलाएं

Get-ChildItem *.jpg | Rename-Item -newname {"._" + $_.Name}

अतिरिक्त बोनस लघु संस्करण:

gci *.jpg | ren -newname {"._" + $_.Name}

6

मेरे पास 2 समाधान हैं:

  1. सभी फाइलें एक ही फ़ोल्डर में हैं

    • उस फ़ोल्डर पर कमांड प्रॉम्प्ट से निम्नलिखित चलाएँ:

      for /f "delims=¯" %i in ('dir /b /on') do ren "%i" "._%i"
      
  2. पूर्ण समाधान तब होता है जब सबफ़ोल्डर्स में फ़ाइलें होती हैं और जब आप "n" पहले वर्णों को एक स्ट्रिंग के साथ बदलना चाहते हैं जो आप चाहते हैं: D

    • निम्न कमांड के साथ एक बैच फ़ाइल बनाएँ
    • परिवर्तनशील मापदंडों को आप जो चाहते हैं उसे बदल दें
      • path: ""अपनी फ़ाइलों के मूल पथ के अंदर रखें (उदाहरण के लिए "C: \ दस्तावेज और सेटिंग्स \ उपयोगकर्ता \ डेस्कटॉप \ नया फ़ोल्डर"
      • numfirstchars2replace: बदलने के लिए पहले पात्रों के साथ एक संख्या रखो (आपके मामले में, 2)
      • str2put: नए फ़ाइलनाम (आपके मामले में, ._) के उपसर्ग के रूप में जोड़े जाने के लिए एक स्ट्रिंग डालें
    • इसे एक फ़ोल्डर में चलाएं जहाँ से फ़ाइलें अलग हैं


@echo off

::only to tell user what this bat are doing
echo.1.initializing...

::enable that thing to allow, for example, incremental counter in a for loop :)
echo.- EnableDelayedExpansion
SETLOCAL EnableDelayedExpansion

::variables
echo.- variables
:: - place here the absolute root path of your files
set path="put here where are the root folder of your files"
set pathbak=%cd%
set numfirstchars2replace=2
set str2put=._

::go to %path% and its driveletter
echo.- entering the path you want
for /f "delims=¯" %%i in ('echo.%path%') do %%~di
cd %path%

::search all subfolders and save them to a temp file
echo.- searching for subfolders
echo.%path%>%temp%\tmpvar.txt
for /f "delims=¯" %%i in ('dir /s /b /on /ad') do echo."%%i">>%temp%\tmpvar.txt

::execute command for root folder and all found subfolders
echo.
echo.2.executing...
for /f "delims=¯" %%i in (%temp%\tmpvar.txt) do (
  cd %%i
  echo.- in folder: %%i
  for /f "delims=¯" %%j in ('dir /b /on /a-d') do (
    set newname=%%j
    set newname=!newname:~%numfirstchars2replace%,1000!
    echo.- renaming from "%%j" to "%str2put%!newname!"...
    ren "%%j" "%str2put%!newname!"
  )
)

echo.
echo.3.exiting...
::return to %pathbak% and its driveletter
for /f "delims=¯" %%i in ('echo.%pathbak%') do %%~di
cd %pathbak%

@echo on

पूरी तरह से परीक्षण किया गया :) यह आपकी समस्या को हल करता है, जिसमें आपको @ChrisF टिप्पणी में दिए गए कुछ चश्मे शामिल हैं। ध्यान दें: "डेलिम्स = ¯" में, यदि "is" का उपयोग किसी फ़ाइल नाम में किया जाता है, तो "character" को किसी अन्य वर्ण के साथ बदलें, जिसे आप जानते हैं कि इसका उपयोग फ़ाइल नाम में नहीं किया गया है
kokbira

सिर्फ एक पाश और नाम बदलने के लिए अपने अविश्वसनीय रूप से लंबी स्क्रिप्ट के कारण मतदान किया। :)
wullxz

अच्छी तरह से, ठीक है, मैं नाम के आधार पर छांटी गई सभी फाइलों के साथ "के लिए / f" लूप बना सकता हूं और फिर उन्हें क्रम संख्या के रूप में एक्स के साथ "._lenameX.jpg" का नाम बदल सकता हूं, लेकिन मैंने इसे अन्य मामलों के लिए करने का एक तरीका सोचा। - अगर भविष्य में इसी तरह की समस्या
सामने आती है

आप "delims =" के बजाय "delims =" का उपयोग कर सकते हैं (मैं भूल गया कि: D)। भी आप के लिए उपयोग कर सकते हैं / एफ intead for / f "delims =" क्योंकि यह वह करता है जो मुझे उस मामले में चाहिए ...
kokbira

3

यदि वे सभी एक ही फ़ोल्डर में हैं, तो आप उन सभी को Control+ के साथ चुन सकते हैं Aऔर फिर F2उनमें से एक का नाम बदल सकते हैं। बाद की सभी फ़ाइलों को फ़ाइल (2), फ़ाइल (3), आदि नाम दिया जाएगा


3

Powershell का प्रयास करें (विंडोज 7 में पूर्वस्थापित):

Get-Childitem /path/to/your/files | foreach-object { move-item $_ $("._" + $_.name) }

(मेरे डाउनलोड-डीआईआर में इसका परीक्षण किया।)

संपादित करें : Siim K का कोड एक अतिरिक्त ".jpg" को प्रत्येक "._filename.jpg" में जोड़ देगा। उस अंतिम ".jpg" को Siim K के कोड में निकालें और आपके पास अपनी फ़ाइलों का नाम बदलने के लिए एक छोटा, सुंदर कोड है।


धन्यवाद, अद्यतन। एक समान रीनेम कमांड से पुन: उपयोग किए गए कोड को विस्तार हेरफेर की आवश्यकता थी और ध्यान नहीं दिया।
सियाम के


0

मैंने हमेशा फ्लैश रेनमर को बैचों में फ़ाइलों का नाम बदलने के लिए एक अच्छा उपकरण माना है।

इसका परीक्षण और पूर्ण संस्करण हैं ($ 20) और मेटा डेटा के आधार पर फ़ाइलों का नाम बदल सकते हैं - एमपी 3 फ़ाइलों का नाम बदलने के लिए बहुत उपयोगी है जो मैं ज्यादातर इसके लिए उपयोग करता हूं।


0

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


0

मैंने इस फ्रीवेयर फ़ाइल Renamer प्रोग्राम का उपयोग महान परिणामों के साथ किया है। कई अलग-अलग फ़िल्टर और विकल्प, प्लस यह आपको परिणामों का परीक्षण करने की क्षमता देता है। थोड़ा पुराना यूआई शायद लेकिन एक चैंपियन की तरह काम करता है।

http://www.webxpace.com/software/freeware.shtml#FileRenamer

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