我對編碼的了解非常有限。所以我不確定這是否可以透過建立批次檔來完成。
順便說一句,我使用的是 Windows 10。
我有一個包含“客戶端”資料夾的大型資料庫。如果不是的話,也許這將是父資料夾。所以它會去
C:客戶/A/亞當斯,比爾
C:客戶/A/安德森,吉爾
C:客戶/B/勃艮第,傑克
..等等。有成千上萬的客戶。
在每個特定的客戶端資料夾(adams、bill 等)下,我需要建立一個名為 ID & PFP 的子資料夾
我是否可以建立批次來自動遍歷所有字母子資料夾以及其中的後續客戶端子資料夾,並在每個客戶端名稱中建立“ID & PFP”子資料夾?
此外,某些子資料夾已經有一個名為「ID」的資料夾。是否有程式碼可以在客戶端名稱資料夾中建立這些子資料夾 - 如果沒有名為“ID”的資料夾。
非常親切的問候
答案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」)。
不要忘記將第二行更改為“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