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

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

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

Кстати, у меня Windows 10.

У меня большая база данных папок «клиентов». Возможно, это будет родительская папка, если нет.. Внутри есть подпапки для каждой буквы алфавита, которая является первой буквой для каждого имени клиента. Так что это будет выглядеть так:

C:Клиент/A/Адамс, Билл

C:Клиент/A/Андерсон, Джилл

C:Клиент/B/Бургундия, Джек

..и т. д. Клиентов тысячи.

В каждой папке клиента (Адамс, Билл и т.д.) мне нужно создать подпапку с названием ID & PFP.

Можно ли создать пакет, который автоматически пройдет по всем подпапкам с буквами и последующим подпапкам клиентов внутри них и создаст подпапки «ID & PFP» внутри каждого имени клиента?

Более того, некоторые из указанных подпапок уже имеют папку с именем 'ID'. Есть ли код, который мог бы сказать создать эти подпапки в папках с именами клиентов - если нет папки с именем 'ID'.. Если есть папка с именем 'ID', переименуйте ее в 'ID & PFP'?

С наилучшими пожеланиями

решение1

Следующий пакет — это то, что вам нужно.
правка: добавлена ​​подпапка «ID» case

@echo off
setlocal
  for /f  %%b in ('dir /b /a:d') do (
      rem enter the directory
      pushd %%b
      echo In Directory: %%b

    for /f  %%c in ('dir /b /a:d') do (
      rem enter the directory
      pushd %%c
      echo In Directory: %%c

      IF EXIST ID (
        rem Folder "ID" does exist 
        echo Folder "ID" Renamed to "ID & PFP"
        rename "ID"  "ID & PFP"
        ) ELSE (
        rem Folder "ID" does not exist
        rem create folder
        md "ID & PFP"
        echo Folder: "ID & PFP" created
      )


      rem leave the directory
      popd
     )
      rem leave the directory
      popd
  )
  pause >nul
endlocal

Поместите это в пакетный файл и поместите его в родительскую папку, где находятся папки a,b,c и т.д....

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

In Directory: test
In Directory: child
Folder "ID" Renamed to "ID & PFP"
In Directory: child1
Folder: "ID & PFP" created
In Directory: child2
Folder: "ID & PFP" created
In Directory: test1
In Directory: child
Folder: "ID & PFP" created
In Directory: test2
In Directory: child
Ein Unterverzeichnis oder eine Datei mit dem Namen "ID & PFP" existiert bereits.
Folder: "ID & PFP" created

решение2

Что ж, следующий код сделает все, о чем вы просили. Можете смело скопировать его в какой-нибудь «.txt»-редактор и сохранить с расширением «.bat» (например: «dirHelper.bat»).

Не забудьте изменить вторую строку с "CD-диск C:\корень"к чему-то, что соответствует вашему случаю - "CD C:\Клиент" и не стесняйтесь отбрасывать "эхо"-операторы, я добавил их только для того, чтобы помочь вам понять, что происходит во время тестирования или для целей регистрации выполнения

@Echo Off
CD C:\root 
echo entered %cd% directory
FOR /D %%G in ("*") DO (
    CD %%G 
    echo entered %cd%\%%G directory
    FOR /D %%N in ("*") DO (
        cd %%N
        echo entered %cd%\%%G\%%N directory
        if EXIST ID (
            rename ID "ID & PFP"
            echo Found ID folder inside %cd%\%%G\%%N
            echo ID folder renamed to "ID & PFP"
            CD ..\
        ) else (
            if EXIST "ID & PFP" (
                echo "ID & PFP folder already exist here:" %cd%\%%G\%%N
                CD ..\
            ) else (
                md "ID & PFP"
                echo created "ID & PFP" folder inside %cd%\%%G\%%N directory
                CD ..\

                )
        )
    )
    CD ..\
)
PAUSE

Связанный контент