我对编码的了解非常有限。所以我不确定是否可以通过创建批处理文件来完成此操作。
顺便说一下,我在用 Windows 10。
我有一个庞大的“客户”文件夹数据库。如果不是的话,也许这将是父文件夹。每个字母都有子文件夹,每个字母都是每个客户姓名的首字母。所以它会
C:客户/A/Adams, Bill
C:客户/A/安德森,吉尔
C:客户/B/Burgundy,杰克
..等等。有成千上万的客户。
在每个特定的客户文件夹(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”)。
不要忘记将第二行从“光盘目录:\根目录“与你的情况相符的东西——”光盘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