中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 查找并创建文件夹 上一主题 | 下一主题
ooaf
中级用户





积分 313
发帖 162
注册 2007-4-2
状态 离线
『楼 主』:  查找并创建文件夹

全盘查找含有指定字符的文件夹,然后在此文件夹及其所有子文件夹下建立一个名为aee的文件夹?

2007-11-23 20:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
upsco
初级用户





积分 67
发帖 32
注册 2007-11-19
状态 离线
『第 2 楼』:  


@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


2007-11-23 21:39
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ooaf
中级用户





积分 313
发帖 162
注册 2007-4-2
状态 离线
『第 3 楼』:  

查找盘符太麻烦了,如果只在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"
  )
上面代码不能运行,不知为什么? 好象红色部分有问题吧

2007-11-24 12:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hxwxyz
中级用户




积分 245
发帖 123
注册 2007-6-8
状态 离线
『第 4 楼』:  

学习

2007-11-24 13:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 5 楼』:  


@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




第一高手    第二高手

2007-11-24 13:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ooaf
中级用户





积分 313
发帖 162
注册 2007-4-2
状态 离线
『第 6 楼』:  

查找含有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"

... ...
等等

2007-11-24 13:49
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 7 楼』:  


@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




第一高手    第二高手

2007-11-24 14:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ooaf
中级用户





积分 313
发帖 162
注册 2007-4-2
状态 离线
『第 8 楼』:  

非常感谢!

2007-11-24 14:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ooaf
中级用户





积分 313
发帖 162
注册 2007-4-2
状态 离线
『第 9 楼』:  

dir /s /b /ad %%i\* 2^>nul  问一下里面 2^>nul  是什么意思?

2007-11-24 14:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 10 楼』:  

不显示错误信息,在这代码里是避免提示"找不到文件"



第一高手    第二高手

2007-11-24 14:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: