中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-06 13:54
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 查找并创建文件夹 查看 755 回复 9
楼 主 查找并创建文件夹 发表于 2007-11-23 20:33 ·  中国 湖北 武汉 教育网
中级用户
★★
积分 313
发帖 162
注册 2007-04-02 06:45
19年会员
UID 83693
性别 男
状态 离线
全盘查找含有指定字符的文件夹,然后在此文件夹及其所有子文件夹下建立一个名为aee的文件夹?
2 发表于 2007-11-23 21:39 ·  中国 湖南 长沙 电信
初级用户
积分 67
发帖 32
注册 2007-11-19 12:34
18年会员
UID 103118
性别 男
状态 离线


@echo off
set str_format=*ws*
if exist tmp.txt del tmp.txt
for /f "delims=" %%i in ('fsutil fsinfo drives^|find /v " " ') do (
for /f "delims=\" %%n in ('fsutil fsinfo drivetype %%i ^|find "固定驱动器"') do (
dir %%n%str_format% /ad /s /b>>tmp.txt
for /f "tokens=*" %%a in (tmp.txt) do md "%%a\aee"
)
)
if exist tmp.txt del tmp.txt



3 发表于 2007-11-24 12:52 ·  中国 湖北 武汉 电信
中级用户
★★
积分 313
发帖 162
注册 2007-04-02 06:45
19年会员
UID 83693
性别 男
状态 离线
查找盘符太麻烦了,如果只在e f盘找含有ws字符的文件夹,并在此文件夹及其所有子文件夹下建立一个名为aee的文件夹?

我的:

for /r e:\ %%a in (.) do (
for /f %%b in ('echo %%~nxa^|findstr /v /i "ws") do
for /r "%a" %%c (.) do md "%%c\aee"
)
上面代码不能运行,不知为什么? 好象红色部分有问题吧
4 发表于 2007-11-24 13:18 ·  中国 江西 南昌 电信
中级用户
★★
积分 245
发帖 123
注册 2007-06-08 09:04
19年会员
UID 90636
性别 女
状态 离线
学习
5 发表于 2007-11-24 13:29 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
@echo off
for /f "skip=2 tokens=3* delims=," %%i in ('WMIC Path Win32_LogicalDisk Get DeviceID^,FileSystem^,Description /format:csv^|findstr /i /v "英寸 CD-ROM 移动"') do (
for /f "delims=" %%a in ('dir /s /b /ad %%i\*ws* 2^>nul') do echo md "%%a\aee"
)
)
pause
第一高手 第二高手

6 发表于 2007-11-24 13:49 ·  中国 湖北 武汉 电信
中级用户
★★
积分 313
发帖 162
注册 2007-04-02 06:45
19年会员
UID 83693
性别 男
状态 离线
查找含有ws explor auto 或更多字符的命令如何?

不会是重复:
for /f "delims=" %%a in ('dir /s /b /ad %%i\*ws* 2^>nul') do echo md "%%a\aee"
for /f "delims=" %%a in ('dir /s /b /ad %%i\*auto* 2^>nul') do echo md "%%a\aee"

... ...
等等
7 发表于 2007-11-24 14:05 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
@echo off
for /f "skip=2 tokens=3* delims=," %%i in ('WMIC Path Win32_LogicalDisk Get DeviceID^,FileSystem^,Description /format:csv^|findstr /i /v "英寸 CD-ROM 移动"') do (
for /f "delims=" %%a in ('dir /s /b /ad %%i\* 2^>nul^|findstr /i "ws explor auto"') do echo md "%%a\aee"
)
)
pause
第一高手 第二高手

8 发表于 2007-11-24 14:20 ·  中国 湖北 武汉 电信
中级用户
★★
积分 313
发帖 162
注册 2007-04-02 06:45
19年会员
UID 83693
性别 男
状态 离线
非常感谢!
9 发表于 2007-11-24 14:28 ·  中国 湖北 武汉 电信
中级用户
★★
积分 313
发帖 162
注册 2007-04-02 06:45
19年会员
UID 83693
性别 男
状态 离线
dir /s /b /ad %%i\* 2^>nul 问一下里面 2^>nul 是什么意思?
10 发表于 2007-11-24 14:37 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
不显示错误信息,在这代码里是避免提示"找不到文件"
第一高手 第二高手

论坛跳转: