Batch DOS - переименование папок - PullRequest
1 голос
/ 30 марта 2011

Я бы хотел запустить командный файл, чтобы переименовать ТОЛЬКО все ПАПКИ.

Допустим, у меня есть следующие папки и файлы:

A1  ( Folder)
 |----> A1.txt A1.doc

B1 ( Folder)
 |----> B1.txt B1.doc

C1 ( Folder)
|----> C1.txt C1.doc

Когда я запускаю пакетный файл, «1» следует удалить из папки, а не из имени файла.Итак, после запуска.вы получите как:

  A  ( Folder)
     |----> A1.txt A1.doc

    B ( Folder)
     |----> B1.txt B1.doc

    C ( Folder)
    |----> C1.txt C1.doc

1 Ответ

2 голосов
/ 30 марта 2011

Используйте for /d для итерации по каталогам:

setlocal enabledelayedexpansion enableextensions
for /d %%f in (*) do (
  set N=%%f
  set N=!N:1=!
  ren "%%f" "!N!"
)

Это удаляет any 1 из имени папки.Если число варьируется и составляет всего один символ, вы можете вместо этого сделать

set N=!N:~0,-1!

в соответствующем месте выше.

...