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


    可以这样玩下:
  1. var cmd = new Command()
  2. var str = cmd.set.p('请输入任意算式,回车确定\n')
  3. try{
  4. cmd.set.a('Num='+str)
  5. cmd.echo('结果是:'+Num)
  6. }
  7. catch(e){
  8. cmd.echo(Num)
  9. cmd.exit(1)
  10. }
  11. cmd.set.p('任意键退出')
  12. function Command(){
  13. this.echo = function (str){WScript.Echo(str)}
  14. this.exit = function (num){WScript.Quit(num)}
  15. this.set = {
  16. a:function (str){eval(str)},
  17. p:function (str){
  18. WScript.StdOut.Write(str)
  19. return WScript.StdIn.ReadLine()
  20. }
  21. }
  22. }
复制代码

TOP

回复 3# CrLf


    想请教下,这种形式的写法该如何调试,单纯批处理我可以用pause和echo来查看变量的值,然后根据值的变化来对代码修正,这种情况该如何查看一个变量的值,如里面的数组ar,另外,我试了下加pause来暂停,发现没用。还望指点下,谢谢

TOP

回复 18# zhao3


    卧槽,好吧又掉坑里了,已修改

TOP

由于是逆序排列,实际遗失是的第一个目录下的第一个被记录的目录名

(for /f "delims=" %%a in ('dir /ad /s /b^|sort /+65535') do (

新改的代码,将所有的目录列举了,相当于是tree的效果。

TOP

正准备反映一个问题的,就是最后一个文件会被忽略。。。

TOP

回复 14# apang


    确实如此,忽略了 \ 会影响排序,谢谢提醒
    代码已更新,小改成完全逆序,就不存在这个问题了

TOP

我的本意,是没有子目录的目录都列出来。有子目录的,列最底层目录。

TOP

回复 11# CrLf


   
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Windows\System32>cd /d d:\test\

d:\test>dir /b /ad /s | sort/r
d:\test\新建文件夹\新建文件夹 - 副本
d:\test\新建文件夹 2\abc
d:\test\新建文件夹 2
d:\test\新建文件夹
d:\test\abc

d:\test>test.bat

d:\test\新建文件夹\新建文件夹 - 副本
d:\test\新建文件夹 2\abc
d:\test\新建文件夹
请按任意键继续. . .

d:\test>

d:\test\新建文件夹 这一行按理说不应该显示出来?
1

评分人数

    • CrLf: 感谢指正!技术 + 1

TOP

回复 12# zhao3


    不同问题请单独开贴

TOP

那跟贴再问一问:
提取目录内的第一个文件名作为目录名
因为目录名是无序的数字,里在文件名有意义。

TOP

回复 10# apang


    用的是 !last:%%a\=!,好像不会误判吧

TOP

回复 3# CrLf
   
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Windows\System32>cd /d d:\test\

d:\test>dir /b /ad /s | sort /r
d:\test\新建文件夹\新建文件夹 - 副本
d:\test\新建文件夹 (2)\abc
d:\test\新建文件夹 (2)
d:\test\新建文件夹

d:\test>

这种情况下,貌似上下行比较会误判?

TOP

太强大了。。。。
成功,谢谢。
还是pm一下吧。
哈哈。。。。

TOP

回复 5# zhao3


    楼主太客气了

TOP

顺序保存只需要 sort 一下就行:
  1. sort a.txt /o a.txt
复制代码

TOP

返回列表