[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
如果以上资源你都用不上,请PM我一下您的电话,我充一点话费,略表心意。

TOP

谢谢二楼,三楼,真的很谢谢你们。
我用的CrLf的方案,执行效果很好,60K的文件30S+就完成了,太棒了。
另请问一下,保存得到的文件是相当于是逆序保存的,能正序保存吗,如果不难的话,正序最好了,当然我可以在excel中倒一下也行。
=======================================
如果你是老师,我可以为你提供一些系统的教学资源;
如果你的孩子还是幼儿,我可以为你提供一些幼教资源;
如果以上资源你都用不上,请PM我一下您的话,我充一点话费,略表心意。

TOP

本帖最后由 CrLf 于 2014-5-9 23:01 编辑

powershell 方案:
  1. $dr = get-childitem -Recurse
  2. $text = ForEach($_ in $dr){
  3.    if($_.PSIsContainer){
  4.       if(!$_.GetDirectories()){$_.FullName}
  5.    }
  6. )
  7. Set-Content -Encoding String -Value $text a.txt
复制代码
  1. Function list($Obj)
  2. {
  3.    if($DS = $Obj.GetDirectories()){
  4.       foreach($D in $DS){
  5.          list $D
  6.       }
  7.    } else {
  8.       $Obj.FullName
  9.    }
  10. }
  11. list (get-item .) | Set-Content -Encoding String a.txt
复制代码

TOP

本帖最后由 CrLf 于 2014-5-10 04:28 编辑

算了还是用 bat + js 吧,各取其长:
  1. @if (0)==(0) echo off
  2. dir /ad /s /b | cscript /nologo /e:jscript %0 >a.txt
  3. pause&exit/b
  4. @end
  5. var text = WScript.StdIn.ReadAll().replace(/\r?\n/g,'\\\n').toLowerCase()
  6. var ar = text.split(/\n/).sort()
  7. for(var i=ar.length-1;i--;){
  8.    if(ar[i+1].indexOf(ar[i])==0){ar.splice(i,1)}
  9. }
  10. text = ar.join('\r\n').replace(/\\$/gm,'')
  11. WScript.Echo(text)
复制代码
2

评分人数

    • zhao3: 解决了我的我实际的问题,谢谢。技术 + 1
    • apang: for(var i=ar.length-1;i--;)学习了技术 + 1

TOP

  1. @echo off
  2. for /d /r "D:\" %%a in (*) do (
  3.     for /d %%b in ("%%a\*") do set a=1
  4.     if defined a (set a=) else echo,%%a
  5. )
复制代码

TOP

返回列表