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

[系统相关] E盘被拒绝访问如何用批处理解决?

[复制链接]
发表于 2009-12-25 18:05:20 | 显示全部楼层 |阅读模式
  1. @echo off
  2. set /p d=输入路径:
  3. cd /d %d%
  4. if errorlevel 1 (echo y|cacls %d% /g everyone:f) else (echo y|cacls %d% /d everyone)
  5. pause
复制代码
出现“12”图片错误报告
改成
  1. if errorlevel 1 (echo y|cacls %d% /c /g everyone:f)
复制代码
还是不行
发表于 2009-12-25 18:18:44 | 显示全部楼层

cacls有点问题

加上 /c 这个容错参数试试!
发表于 2009-12-25 18:22:55 | 显示全部楼层

最好写成

echo Y|cacls "%%d" /C /P everyone:F 这个形式,双引号防止路径%%d中有空格!
 楼主| 发表于 2009-12-25 20:27:17 | 显示全部楼层
我今天下午试了的echo y|cacls %d% /c /g everyone:f ,可还是没用啊难道必须"%%d"
发表于 2009-12-25 20:54:17 | 显示全部楼层
试一试这样行不行
  1. @echo off
  2. set /p d=输入路径:
  3. cd /d %d%
  4. if errorlevel 1 (echo y|cacls %d% /g %username%:f) else (echo y|cacls %d% /d everyone)
  5. pause
复制代码
发表于 2009-12-25 21:02:45 | 显示全部楼层
如果不行换成如下,需要xcacls.vbs支持
  1. cscript.exe xcacls.vbs "e:" /g "%username%:f" "system:f"
复制代码
或者,需要setacl.exe
  1. setacl.exe "e:" /dir /set "%username%" /full
  2. setacl.exe "e:" /dir /set "system" /full
复制代码
如果上面的命令不行,把"%username%"换成你登陆的用户名
发表于 2009-12-25 21:43:58 | 显示全部楼层

回复 1楼 的帖子

把错误信息复制粘贴一下很难吗?

实在不会的话,
google: cmd 复制 文字
http://www.google.cn/search?q=cmd+%B8%B4%D6%C6+%CE%C4%D7%D6
发表于 2009-12-25 22:03:10 | 显示全部楼层

回复 7楼 的帖子

版主你好!
来请教的都和俺一样,对dos命令都是一知半解,如果什么都能描述清楚,那就不用出来请教了!

直言不讳敬请谅解
 楼主| 发表于 2009-12-25 22:22:23 | 显示全部楼层
错误内容:
拒绝访问。
是否确定(Y/N)?拒绝访问。
发表于 2009-12-25 22:46:51 | 显示全部楼层

回复 8楼 的帖子

把出错信息贴出来都不会吗?
甚至有的人(屡见不鲜)连代码内容都不给出来,只在那里干嚎:做xx为什么不行?
不是什么水平的的问题,而是一种态度。
每个人在论坛注册成功的时候,就有一条通告消息提醒大家应该注意哪些事项。
发表于 2009-12-25 23:08:55 | 显示全部楼层

回复 10楼 的帖子

有个别人素质是差,可以不理他

说实话有些问题我自己都不知道该怎么问,有很多时侯文不达意

顺便回楼主的帖子,我刚改写了一下,自己测试可用
  1. @echo off
  2. set d=
  3. set /p d=输入路径:
  4. set /p NetConf=允许问[y],禁止访问[n]
  5. if /i "%NetConf%" equ "y" (echo y|cacls %d% /g %username%:f)
  6. else
  7. if /i "%NetConf%" equ "n" (echo y|cacls %d% /d everyone)
  8. else
  9. (goto :eof)
复制代码
发表于 2009-12-26 13:35:41 | 显示全部楼层

还是写完整的吧

要不试试这个吧,一些关键点记不清楚了,呵呵…
  1. @echo off
  2. :s
  3. set d=
  4. set /p d=请输入路径:
  5. if not exist "%d%" goto s
  6. cd /d "%d%"
  7. if errorlevel 1 (echo Y|cacls "%d%" /C /P Everyone:F) else (echo Y|cacls "%d%" /C /P everyone:N)
复制代码
如果不行,在 | 前面加上 ^ 试试。哎,偶记不清了,呵呵…
发表于 2009-12-26 15:26:40 | 显示全部楼层

回复 11楼 的帖子

不知道怎么问,没关系。把问题背景、报错信息、自己不懂的具体地方描述清楚就可以了。
参考:《提问的智慧》
http://bbs.bathome.net/thread-4054-1-1.html
发表于 2009-12-26 23:57:26 | 显示全部楼层

回复 13楼 的帖子

俺的问题是没有背景、没有报错信息,只有实现目的设想,不知具体该写什么标题

顺便问一下,下面一段代码无法找到我在c盘创建名叫abc.exe的文件夹,并设置成隐藏,请教该写成什么标题呢?

说明:Illegal.csv中是一个*.exe我假设的非法进程列表,包含abc.exe,我要全盘搜索,并把他们的完整路径写入到Path.scv文件中,下一步就是根据Path.scv,给所有找到的*.exe改名为*.ex_

谢谢!
  1. for /f "delims=" %%h in (Illegal.csv) do (for %%a in (C D E F) do (dir "%%a:\%%h" /ah /s /b | find /i ".exe">>Path.scv&dir "%%a:\%%h" /s /b | find /i ".exe">>Path.scv))
复制代码

[ 本帖最后由 temp 于 2009-12-26 23:59 编辑 ]
发表于 2009-12-27 00:40:12 | 显示全部楼层

回复 14楼 的帖子

跟楼主顶楼问题不相关的话题,建议单独发帖。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 03:42 , Processed in 0.028224 second(s), 11 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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