标题: [文件操作] 【已解决】批处理 拖动文件到窗口 后续执行错误...求解 [打印本页]
作者: comicguests 时间: 2014-2-11 11:23 标题: 【已解决】批处理 拖动文件到窗口 后续执行错误...求解
本帖最后由 comicguests 于 2014-2-12 06:44 编辑
- @rem ----- ExeScript Options Begin -----
- @rem ScriptType: console,invoker
- @rem DestDirectory: temp
- @rem ----- ExeScript Options End -----
- @echo off
- :lab1
- cls
- color 2f
- echo.
- echo 【 更改文件(文件夹)属性】
- echo -------------------------------
- echo.
- echo.
- echo.
- echo.
- echo.
- set Choice=
- echo 请将要更改的文件(文件夹)直接拖入本窗口,然后回车:
- echo.
- set /p Doc=
- if ""%Doc%"" == "" goto lab1
-
- echo a..........(+)只读文件属性
- echo b..........(+)存档文件属性
- echo c..........(+)系统文件属性
- echo d..........(+)隐藏文件属性
- echo e..........(-)只读文件属性
- echo f..........(-)存档文件属性
- echo g..........(-)系统文件属性
- echo h..........(-)隐藏文件属性
- echo.
- set /p CHS= 请输入您的选择:
- echo.
- if "%CHS%"=="a" goto addR
- if "%CHS%"=="b" goto addA
- if "%CHS%"=="c" goto addS
- if "%CHS%"=="d" goto addH
- if "%CHS%"=="e" goto subR
- if "%CHS%"=="f" goto subA
- if "%CHS%"=="g" goto subS
- if "%CHS%"=="h" goto subH
- goto lab1
- :addR
- attrib ""%Doc%"" +r
- :addA
- attrib ""%Doc%"" +a
- :addS
- attrib ""%Doc%"" +s
- :addH
- attrib ""%Doc%"" +h
- :subR
- attrib ""%Doc%"" -r
- :subA
- attrib ""%Doc%"" -a
- :subS
- attrib ""%Doc%"" -s
- :subH
- attrib ""%Doc%"" -h
- exit
复制代码
不知道哪里出错了,希望各位指教
作者: DAIC 时间: 2014-2-11 13:05
把 @echo off 删掉
把报错信息发出来看看
作者: comicguests 时间: 2014-2-11 14:32
回复 2# DAIC - c:\>color 2f
-
- c:\>echo.
-
-
- c:\>echo 【 更改文件(文件夹)属性】
- 【 更改文件(文件夹)属性】
-
- c:\>echo -------------------------------
- -------------------------------
-
- c:\>echo.
-
-
- c:\>echo.
-
-
- c:\>echo.
-
-
- c:\>echo.
-
-
- c:\>echo.
-
-
- c:\>set Choice=
-
- c:\>echo 请将要更改的文件(文件夹)直接拖入本窗口,然后回车:
- 请将要更改的文件(文件夹)直接拖入本窗口,然后回车:
-
- c:\>echo.
-
-
- c:\>set /p Doc=
- C:\Users\c\Desktop\test
-
- c:\>if ""C:\Users\c\Desktop\test"" == "" goto lab1
-
- c:\>echo a..........(+)系统文件属性
- a..........(+)系统文件属性
-
- c:\>echo b..........(+)隐藏文件属性
- b..........(+)隐藏文件属性
-
- c:\>echo c..........(+)存档文件属性
- c..........(+)存档文件属性
-
- c:\>echo d..........(+)只读文件属性
- d..........(+)只读文件属性
-
- c:\>echo e..........(-)系统文件属性
- e..........(-)系统文件属性
-
- c:\>echo f..........(-)隐藏文件属性
- f..........(-)隐藏文件属性
-
- c:\>echo g..........(-)存档文件属性
- g..........(-)存档文件属性
-
- c:\>echo h..........(-)只读文件属性
- h..........(-)只读文件属性
-
- c:\>echo.
-
-
- c:\>set /p CHS= 请输入您的选择:
- 请输入您的选择:b
-
- c:\>echo.
-
-
- c:\>if "b" == "a" goto addR
-
- c:\>if "b" == "b" goto addA
-
- c:\>attrib ""C:\Users\c\Desktop\test"" +a
-
- c:\>attrib ""C:\Users\c\Desktop\test"" +s
-
- c:\>attrib ""C:\Users\c\Desktop\test"" +h
- 未重置系统文件 - C:\Users\c\Desktop\test
-
- c:\>attrib ""C:\Users\c\Desktop\test"" -r
- 未重置系统文件 - C:\Users\c\Desktop\test
-
- c:\>attrib ""C:\Users\c\Desktop\test"" -a
- 未重置系统文件 - C:\Users\c\Desktop\test
-
- c:\>attrib ""C:\Users\c\Desktop\test"" -s
-
- c:\>attrib ""C:\Users\c\Desktop\test"" -h
-
- c:\>pause
- 请按任意键继续. . .
复制代码
作者: comicguests 时间: 2014-2-11 14:33
回复 2# DAIC
显示 未重置系统文件 怎么办?
作者: DAIC 时间: 2014-2-11 17:53
回复 4# comicguests
微软的官方文档说的很清楚:
如果文件设置了系统或隐藏属性,则为了更改该文件的其他属性,您必须首先清除其系统或隐藏属性。
作者: battab 时间: 2014-2-12 10:52
回复 1# comicguests
第42行“goto set” 却没发现有:set 标签在哪。
作者: comicguests 时间: 2014-2-12 11:13
本帖最后由 comicguests 于 2014-2-12 04:17 编辑
回复 5# DAIC
确定没加任何额外属性,是新建的文件夹,测试用...
而且问题知道出在哪了...批处理的描述对应错了,但不会失败,问题出在我用的资源管理器上,我用的是Total Commander,对虚拟桌面处理的不太好,才导致的问题,使用真实路径就没问题了...真是十分抱歉!!!
抱歉再问一下,怎样多选?,比如按下ad,就会加上两种属性?
作者: comicguests 时间: 2014-2-12 11:14
回复 6# battab
感谢提示,已改!!
作者: ivor 时间: 2014-2-12 11:53
本帖最后由 ivor 于 2014-2-12 11:58 编辑
每个标签后面没有goto :EOF或者 goto :lab1
判断语句建议用- echo %CHS% | find "a" && goto addR
复制代码
按照这个格式后面的自己改
if "%CHS%"=="a" goto addR
if "%CHS%"=="b" goto addA
if "%CHS%"=="c" goto addS
if "%CHS%"=="d" goto addH
if "%CHS%"=="e" goto subR
if "%CHS%"=="f" goto subA
if "%CHS%"=="g" goto subS
if "%CHS%"=="h" goto subH
作者: comicguests 时间: 2014-2-12 13:45
回复 9# ivor
感谢,学习了!
作者: DAIC 时间: 2014-2-12 13:49
回复 9# ivor
判断语句改成这样有什么好处吗?
作者: ivor 时间: 2014-2-12 15:26
回复 11# DAIC
兼容性好,不管你输入多少种组合,只要包含a,b,c,d,e,f,h都会执行对应的子程序(标签),
作者: DAIC 时间: 2014-2-12 15:52
回复 12# ivor
这样不太严谨把,比如可以输入非法的选项 az
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |