找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25000|回复: 6

[文件操作] [已解决]批处理怎样搜索指定路径中的文件夹,并设置权限?

[复制链接]
发表于 2011-10-19 23:21:49 | 显示全部楼层 |阅读模式
本帖最后由 yy521b 于 2011-10-21 10:34 编辑

先上一个简单的代码。
  1. @echo off
  2. cd /d e:\
  3. for /f %%i in ('dir /s/b "linux"') do (
  4. cacls %%i /t /e /c /g 789:r
  5. )
  6. pause
复制代码
这段代码的意思是 搜索E盘中所有的 linux 文件夹, 并添加用户789的只读权限,此代码成功操作。 按理说我要是只想搜索e:\123\ 文件夹下所有linux 文件夹并赋予权限时 我只要将上边的代码 第二行 e:\改成e:\123\ 就应该可以了,但是我改过之后执行此BAT  它只能搜到我的e:/123/linux/下边的linux文件夹!! 呵呵! 有点像绕口令了! 我真不知道怎么组织语言了,我形容一下我的实际环境吧.  就是我e盘下边有一个123的文件夹,123问价夹下边 又有 linux、linux1、linux2、linux3 这四个文件夹,这四个文件夹中都有一个linux文件夹,我现在的目的是 搜索 123问价夹中 所有叫 linux的文件夹并赋予权限, 我用上边的代码操作可以将e盘中所有叫linux的文件夹搜索出来,但是我把第二行的e:\改成e:\123  就只能搜索到 e:\123\linux 及其下边的linux问价夹, 其他的 linux1、linux2、linux3中的linux文件夹搜索不到。不知我形容的是否清楚, 请各位坛友帮忙指导,或者有什么更好的方法解决这个问题,希望赐教。

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-10-19 23:27:50 | 显示全部楼层
你这句有问题。dir /s/b "linux"
如果你当前文件夹是e:的话,dir /s/b "linux"的意思就是搜索e:\linux下的所有文件夹。
 楼主| 发表于 2011-10-19 23:44:14 | 显示全部楼层
回复 2# leeonix

我的e:\ 盘有两个文件夹 一个是 123 一个是456,这两个文件夹下面都有很多的linux 文件夹, 当我用上边的代码对整个E盘搜索时,真的 E盘所有的 linux文件夹都搜出来了,这是真的,我也操作了。但是我只想对123
文件夹进行搜索时就像我上面说的 它只能搜到e:\123\linux   其他的linux1、linux2.。。。下面的linux文件夹搜不到, 请帮忙指正上边的代码,或有什么跟好的办法,谢谢了!
发表于 2011-10-19 23:51:07 | 显示全部楼层
以前随风好像也发过一个帖子,貌似是说 dir /s 时,如果存在与关键词同名的文件夹,关键词将被当成目标路径看待,印象中好像没看到纯 dir 的解决方案...
可以用 findstr 筛选
  1. for /f %%i in ('dir /s/b/ad "linux"^|findstr /e \linux') do cacls %%i /t /e /c /g 789:r
复制代码
或者不用 dir
  1. for /r /d %%a in (linux) do if exist %%a cacls %%i /t /e /c /g 789:r
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2011-10-19 23:57:27 | 显示全部楼层
  1. @echo off
  2. for /r "E:\123" %%a in (.) do (
  3.     if "%%~na" equ "linux" (
  4.         cacls "%%a" /t /e /c /g 789:r
  5.     )
  6. )
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2011-10-20 08:10:02 | 显示全部楼层
去下载一个Unix工具,名字也叫Find。结合xargs一下就可以搞定。。。
 楼主| 发表于 2011-10-20 08:53:01 | 显示全部楼层
谢谢 版主 ,您的方法太棒了!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 07:21 , Processed in 0.021479 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表