PowerShell / Batch для удаления конечного текста из имени папки - PullRequest
0 голосов
/ 31 августа 2018

Я установил новое программное обеспечение Google Drive «Резервное копирование и синхронизация», и теперь внезапно он добавил текст (1) в конце ВСЕХ моих музыкальных папок!

Больно проходить через столько художников и редактировать их вручную ... Есть ли способ, с помощью которого я могу использовать командный файл, чтобы просмотреть каждый файл и удалить эту строку?

Я много занимался поиском, и я не могу найти какие-либо подробности, касающиеся удаления текста из имени FOLDER . Все, что я искал, касается удаления текста из имени файла.

Пример каталога:

Awesome Artist (1)
Another Cool Artist (1)
Artist Is Fun (1)
WOW COOL Artist (1)
Ok No More Artists (1)

Конечная цель

Awesome Artist
Another Cool Artist
Artist Is Fun
WOW COOL Artist
Ok No More Artists

1 Ответ

0 голосов
/ 31 августа 2018

используйте подстроку подстановки (см. set /?) для удаления нежелательной строки (1). Поместите цикл вокруг всех папок (/d), который заканчивается на <space>(1)

@echo off
SETLOCAL enabledelayedexpansion
REM just to generate some folders to work with:
for %%a in (
  "Awesome Artist (1)"
  "Another Cool Artist (1)"
  "Artist Is Fun (1)"
  "WOW COOL Artist (1)"
  "Ok No More Artists (1)"
) do md "%%~a"
dir /ad

REM rename the folders:
for /d %%a in ("*(1)") do (
  set folder=%%a
  ren "%%a" "!folder: (1)=!"
)
dir /ad
pause

Примечание. Команда ren не будет выполнена, если папка с таким именем уже существует, что не позволит ее перезаписать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...