コーディングの知識はほとんどありません。そのため、バッチ ファイルを作成してこれを実行できるかどうかはわかりません。
ちなみに私はWindows 10を使用しています。
私は「クライアント」フォルダの大きなデータベースを持っています。おそらくこれが親フォルダでしょう。そうでなければ...。各クライアント名の最初の文字であるアルファベットの各文字ごとにサブフォルダがあります。つまり、
C:クライアント/A/アダムス、ビル
C:クライアント/A/アンダーソン、ジル
C:クライアント/B/バーガンディ、ジャック
...などなど。クライアントは何千人もいます。
各クライアントフォルダ(adams、billなど)の下に、ID&PFPというサブフォルダを作成する必要があります。
すべての文字付きサブフォルダーと、その中の後続のクライアント サブフォルダーを自動的に調べて、すべてのクライアント名内に「ID および PFP」サブフォルダーを作成するバッチを作成できるでしょうか?
さらに、上記のサブフォルダーの一部には、すでに「ID」というフォルダーがあります。「ID」というフォルダーがない場合に、クライアント名フォルダー内にそれらのサブフォルダーを作成するように指示するコードはありますか。「ID」というフォルダーがある場合は、名前を「ID & PFP」に変更しますか。
よろしくお願いいたします
答え1
必要なのは次のバッチです。
編集: サブフォルダ「ID」ケースを追加しました
@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 などがある親フォルダーに配置します。
基本的に、このスクリプトは、それが存在するすべてのサブフォルダーに移動し、その下のすべてのサブフォルダーに移動してフォルダーを作成します。
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」)。
2行目を「CD C:\ルート「あなたのケースに該当するものに - 」CD C:\クライアント「echo」ステートメントは、テスト中に何が起こっているか理解しやすくするため、または実行時にログを記録するために追加しただけなので、自由に削除してください。
@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