Board logo

标题: [系统相关] E盘被拒绝访问如何用批处理解决? [打印本页]

作者: cj236728756    时间: 2009-12-25 18:05     标题: E盘被拒绝访问如何用批处理解决?

  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)
复制代码
还是不行
作者: crartor    时间: 2009-12-25 18:18     标题: cacls有点问题

加上 /c 这个容错参数试试!
作者: crartor    时间: 2009-12-25 18:22     标题: 最好写成

echo Y|cacls "%%d" /C /P everyone:F 这个形式,双引号防止路径%%d中有空格!
作者: cj236728756    时间: 2009-12-25 20:27

我今天下午试了的echo y|cacls %d% /c /g everyone:f ,可还是没用啊难道必须"%%d"
作者: temp    时间: 2009-12-25 20:54

试一试这样行不行
  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
复制代码

作者: temp    时间: 2009-12-25 21:02

如果不行换成如下,需要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%"换成你登陆的用户名
作者: zqz0012005    时间: 2009-12-25 21:43     标题: 回复 1楼 的帖子

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

实在不会的话,
google: cmd 复制 文字
http://www.google.cn/search?q=cmd+%B8%B4%D6%C6+%CE%C4%D7%D6
作者: temp    时间: 2009-12-25 22:03     标题: 回复 7楼 的帖子

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

直言不讳敬请谅解
作者: cj236728756    时间: 2009-12-25 22:22

错误内容:
拒绝访问。
是否确定(Y/N)?拒绝访问。
作者: zqz0012005    时间: 2009-12-25 22:46     标题: 回复 8楼 的帖子

把出错信息贴出来都不会吗?
甚至有的人(屡见不鲜)连代码内容都不给出来,只在那里干嚎:做xx为什么不行?
不是什么水平的的问题,而是一种态度。
每个人在论坛注册成功的时候,就有一条通告消息提醒大家应该注意哪些事项。
作者: temp    时间: 2009-12-25 23:08     标题: 回复 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)
复制代码

作者: crartor    时间: 2009-12-26 13:35     标题: 还是写完整的吧

要不试试这个吧,一些关键点记不清楚了,呵呵…
  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)
复制代码
如果不行,在 | 前面加上 ^ 试试。哎,偶记不清了,呵呵…
作者: Batcher    时间: 2009-12-26 15:26     标题: 回复 11楼 的帖子

不知道怎么问,没关系。把问题背景、报错信息、自己不懂的具体地方描述清楚就可以了。
参考:《提问的智慧》
http://bbs.bathome.net/thread-4054-1-1.html
作者: temp    时间: 2009-12-26 23:57     标题: 回复 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 编辑 ]
作者: Batcher    时间: 2009-12-27 00:40     标题: 回复 14楼 的帖子

跟楼主顶楼问题不相关的话题,建议单独发帖。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2