Pertanyaan Ubah nama Beberapa file dengan file batch Dos


Saya ingin mengganti nama semua file di dalam folder * .txt, jadi hasilnya akan "1.txt", "2.txt" dan "3.txt", ....

Bagaimana saya bisa melakukannya?


6
2018-06-15 14:44


asal


Jawaban:


Hal-hal berikut dapat mencapai apa yang Anda cari. Ia menggunakan a for loop ke iterate melalui file teks dan membuat "panggilan" ke bit lain dari file batch untuk melakukan rename dan kenaikan variabel.

Edit Ubah operasi matematika menjadi solusi bersih yang disarankan oleh Andriy.

@echo off
set i=1
for %%f in (*.txt) do call :renameit "%%f"
goto done

:renameit
ren %1 %i%.txt
set /A i+=1

:done

11
2018-06-15 15:41



Pertama membuat daftar direktori:

dir /b *.txt > myfile.cmd

Kemudian mulai UltraEdit (http://www.ultraedit.com/) dan buka file.

Lalu masuk ke mode kolom, pilih semua garis, dan:

  • masukkan "RENAME" di awal setiap baris
  • masukkan ".TXT" di akhir setiap baris (pastikan untuk meletakkannya cukup jauh tepat jika Anda memiliki garis yang sangat panjang)
  • masukkan angka (lihat Kolom / Masukkan Nomor dalam menu) tepat sebelum .TXT

1
2018-06-15 15:27



Saya ingin mengganti nama semua file di dalam folder * .txt, sehingga hasilnya adalah "1.txt", "2.txt" dan "3.txt", ....

Bagaimana saya bisa melakukannya?

::Setup the stage...
SETLOCAL ENABLEDELAYEDEXPANSION
SET folder=C:\This\Is\The\Folder
SET count=1

::Action
CD "%folder%"
FOR %%F IN ("*.txt") DO (
 MOVE "%%F" "!count!.txt"
 SET /a count=!count!+1
)
ENDLOCAL

Steno

SETLOCAL ENABLEDELAYEDEXPANSION
SET count=1
FOR %%F IN (C:\Path\To\File\*.txt) DO MOVE "%%~fF" "%%~dpF!count!.txt" & SET /a count=!count!+1
ENDLOCAL

Jadi jika folder Anda berisi cat.txt, dog.txt, bird.txt, ninjaturtle.txt, maka akan menghasilkan 1.txt, 2.txt, 3.txt, 4.txt.


1
2018-06-15 16:47