我正在寻找一些帮助。
我想读一个目录(c:\ test) 如果它们只有2位数(只有一个深度),那么所有dir都在这里,应该检查一个sub dir(temp),如果没有,那么就创建它。
所以 c:\ test \ hello ... leave(因为dir世界超过2个字符) c:\ test \ AA - 在这里检查temp - 如果不存在那么创建 c:\ test \ world ... leave(因为dir世界超过2个字符) c:\ test \ BB - 在这里检查temp - 如果不存在则创建
我尝试了多种方法但是当我尝试检查文件夹名称/字符串长度时,我似乎总是失败。
希望有人可以帮助或给我一个开始 谢谢 保罗
答案 0 :(得分:0)
简单方法......
@ECHO OFF
SETLOCAL
SET "destdir=U:\destdir"
SET "alphabet=a b c d e f g h i j k l m n o p q r s t u v w x y z"
FOR %%a IN (%alphabet%) DO FOR %%b IN (%alphabet%) DO IF EXIST "%destdir%\%%a%%b\." ECHO(MD "%destdir%\%%a%%b\temp" 2>nul
GOTO :EOF
您需要更改destdir
的设置以适合您的情况,并根据需要扩展分配给alphabet
的字符串。
所需的MD命令仅用于ECHO
用于测试目的。 在您确认命令正确之后,将ECHO(MD
更改为MD
以实际创建目录。附加到MD命令的2>nul
会抑制错误消息(例如,当" new"目录已存在时)
答案 1 :(得分:0)
@echo off
setlocal enableextensions disabledelayedexpansion
set "target=c:\test"
>nul 2>nul (
for /f %%a in ('
dir /ad /b "%target%\??" ^| findstr /r /c:"^..$"
') do md "%target%\%%a\temp"
)
使用dir
命令检索一个或两个字符文件夹的列表。使用findstr
过滤列表,仅保留包含两个字符的文件夹。对于最终列表中的每个文件夹,直接尝试创建temp
文件夹。