[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]创建以点结尾文件夹的批处理set又罢工了还是什么?

是这样的,我首先建了个带点文件夹,但是就算不会玩电脑的都会知道在后面再加个点就能进
如果同文件夹下有一个跟带点的文件夹同名的文件夹,那么怎么进都只是进到那个同名文件夹而已
所以必须先删除掉同名文件夹才能进带点的文件夹,所以就想到在那个同名文件夹下随意建个带点文件夹
毕竟很多人会进,但不知道怎么删带点文件夹,呵呵
然后,问题来了
自己老是要用CMD来进行删除同名文件夹怪麻烦的
所以就想到弄这么一个批处理出来
但是,问题又来了
下面的代码在一开始便跳转不成功,无论输入什么,窗口都直接关闭了
我看了很久都看不出哪里不对,大家救命

代码如下:
  1. @ECHO off & title FL源文件保护器 —— FL·秋剑
  2. :FL
  3. ECHO 你将要对哪个盘符进行相关操作
  4. ECHO.
  5. ECHO.
  6. ECHO.      
  7. ECHO.
  8. SET panfu=
  9. SET /P panfu=请输入盘符或0退出:
  10. IF NOT "%panfu%"=="" SET panfu=%panfu:~0,1%
  11. if /I "%panfu%"="0" goto exit
  12. if /I "%panfu%"="f" goto fpan
  13. if /I "%panfu%"="g" goto gpan
  14. if /I "%panfu%"="F" goto fpan
  15. if /I "%panfu%"="G" goto gpan
  16. echo 输入错误,将返回重新输入...
  17. pause
  18. goto FL
  19. :fpan
  20. ECHO            你将对‘F盘’进行操作
  21. ECHO.
  22. ECHO.
  23. ECHO                   1.关闭保护
  24. ECHO                   2.开启保护
  25. ECHO.
  26. SET fxz=
  27. SET /P fxz=请选择数字:
  28. if /I "%fxz%"="1" goto guanbif
  29. if /I "%fxz%"="2" goto kaiqif
  30. echo 输入错误,将返回重新输入...
  31. pause
  32. goto fpan
  33. :guanbif
  34. SET FL=
  35. SET /P FL=高级命令,请输入盘符:
  36. IF /I "%FL%"=="315707444" GOTO zhengque
  37. echo 密码错误,将返回重新输入...
  38. pause
  39. goto guanbif
  40. :zhengque
  41. del /a /f /q /s F:\fL源文件\*.*
  42. RD F:\fL源文件\所有文件须FL认证方可移至源文件...\
  43. RD F:\fL源文件\
  44. ECHO 已经关闭F盘保护,请按任意键为你打开文件夹...
  45. pause
  46. explorer f:\fl源文件...\
  47. exit
  48. :kaiqif
  49. MD F:\fL源文件\
  50. MD F:\fL源文件\所有文件须FL认证方可移至源文件...\
  51. ECHO 还原保护F盘成功,关闭文件夹或资源管理器后将无法进入。。。
  52. pause
  53. exit
  54. :gpan
  55. ECHO            你将对‘G盘’进行操作
  56. ECHO.
  57. ECHO.
  58. ECHO                   1.关闭保护
  59. ECHO                   2.开启保护
  60. ECHO.
  61. SET gxz=
  62. SET /P gxz=请选择数字:
  63. if /I "%gxz%"="1" goto guanbig
  64. if /I "%gxz%"="2" goto kaiqig
  65. echo 输入错误,将返回重新输入...
  66. pause
  67. goto gpan
  68. :guanbig
  69. SET qiujian=
  70. SET /P qiujian=高级命令,请输入盘符:
  71. IF /I "%qiujian%"=="315707444." GOTO duide
  72. echo 密码错误,将返回重新输入...
  73. pause
  74. goto guanbig
  75. :duide
  76. del /a /f /q /s G:\fL源文件\*.*
  77. RD G:\fL源文件\所有文件须FL认证方可移至源文件...\
  78. RD G:\fL源文件\
  79. ECHO 已经关闭G盘保护,请按任意键为你打开文件夹...
  80. pause
  81. explorer f:\fl源文件...\
  82. exit
  83. :kaiqig
  84. MD G:\fL源文件\
  85. MD G:\fL源文件\所有文件须FL认证方可移至源文件...\
  86. ECHO 还原保护G盘成功,关闭文件夹或资源管理器后将无法进入。。。
  87. pause
  88. exit
复制代码
问题:在一开始便跳转不成功,无论输入什么,窗口都直接关闭了
请各位大哥大姐解解围,到底怎么回事[已解决]
1

评分人数

    • Batcher: 感谢主动给标题标注[已解决]字样PB + 2

IF NOT "%panfu%"=="" SET panfu=%panfu:~0,1%
if /I "%panfu%"="0" goto exit
if /I "%panfu%"="f" goto fpan
if /I "%panfu%"="g" goto gpan
if /I "%panfu%"="F" goto fpan
if /I "%panfu%"="G" goto gpan
仔细看,第2行的“=”只有一个,另外你加了/I参数后,第5行和第6行就没必要写了嘛
1

评分人数

TOP

经过我测试,
if /I "%fxz%"="1" goto guanbif
if /I "%fxz%"="2" goto kaiqif

if /I "%gxz%"="1" goto guanbig
if /I "%gxz%"="2" goto kaiqig
这也少写了,而且对于字符串是数字来说,应该没有大小写的区别吧?

SET /P qiujian=高级命令,请输入盘符:
IF /I "%qiujian%"=="315707444." GOTO duide
echo 密码错误,将返回重新输入...
这里的语意不同,下面说的密码错误,但是上面说的是喊输入盘符。而且是个死循环,输入错误无法跳出,除非强制关闭CMD

TOP

=用于赋值的,比较字符串是时,需要使用==
另外,觉得没必要用这个批处理。不管F盘下有没有同名文件夹。直接在运行中输入f:\fl源文件...\或者在cmd 中运行start f:\fl源文件...\都能够进去该带点文件夹。

[ 本帖最后由 sysplay 于 2010-2-4 08:48 编辑 ]

TOP

俺来学习一下,不过有点费劲

TOP

感谢两位朋友热心的探讨
问题已经得到解决
我真的是太大意了,以后绝对要再翻查多几次
我刚接触SET命令不久,呵呵
我很多朋友都只会在资源管理器里的路径上后面加个点
都不会试着‘开始运行’或是CMD的
这批处理应付他们刚好

TOP

返回列表