![]() 支柱会员
|
今天格了盘,忘了备绿色/准绿色程序的快截方式,目录进进出出实在烦
explorer搜索*.exe,右键拖出快捷方式,受到非入口exe的干扰,迷眼睛啊 ![]() 想办法呀,想办法呀,cmd滤一下,用到了置顶的命令行创建快捷方式的工具shortcut.exe 两个策略: 1,枚举路径,如本层路径下存在有exe文件,则不深入到下一层 2,滤出上次访问时间最新的exe文件,就当它是入口吧,眼睛是我们宝贵的辩识力量 代码:
@echo off echo. echo. echo.批量跑出程序的快捷方式.cmd by hitme 2005.5.11 echo. echo.稍等... :P1 ::*********************************************************** ::#列表路径 ::#滤镜1:路径下存在有exe文件 ::#滤镜1:枚举路径,如本层路径下存在有exe文件,则不深入到下一层 ::*********************************************************** setlocal ENABLEDELAYEDEXPANSION for /f "delims=" %%i in ('dir /s/b *.exe ^| findstr /v /i "shortcut\.exe$"') do ( find "%%~dpi" tmp.txt>nul || ( echo %%~dpi | find "!n!">nul || ( echo %%~dpi>>tmp.txt set n=%%~dpi ) ) ) endlocal :P2 ::*********************************************************** ::#以P1路径列表为原料,继续加工 ::#过滤上次访问时间最新的exe文件 ::*********************************************************** for /f "delims=" %%i in (tmp.txt) do ( dir /ta "%%i*.exe" | sort /r | findstr /n "." | findstr /r "^1:">>tmp1.txt ) :P3 ::*********************************************************** ::#同行合并P1,P2=>list.txt ::*********************************************************** set /a N1=0 for /f %%i in (tmp.txt) do set /a N1+=1 for /l %%a in (1,1,%N1%) do ( for /f "tokens=1* delims=:" %%i in ('findstr /n "." tmp.txt ^|findstr /r "^%%a:"') do set dir=%%j for /f "tokens=3*" %%i in ('findstr /n "." tmp1.txt ^|findstr /r "^%%a:"') do set filename=%%j setlocal ENABLEDELAYEDEXPANSION echo !dir!!filename! echo !dir!!filename!>>list.txt endlocal ) :shortcut ::*********************************************************** ::#依据list.txt路径列表,创建link ::*********************************************************** pause for /f "delims=" %%i in (list.txt) do ( shortcut -d %%~dpi "%%i" ) :clean ::*********************************************************** ::#打扫卫生 ::*********************************************************** del tmp*.txt list.txt 2>nul 此帖于 2005-05-11 12:19:45 被 hitme 编辑. . |
||
![]() 『硬件使用』版主
|
汗。。。。太多exe不是收集垃圾了嘛?
我用tar,全键盘操作,无需任何一个快捷方式。纯绿色软件。 |
||
![]() INTEL-Q9400 VDATA-2GDDRII800 WD-500G HT-160g YESTON-9600GT GIGA-EP43-US3L ACER-X233H GW-BTX-400SD |
![]() 核心会员
|
直接搜索exe,然后多选需要的发送桌面快捷方式.
|
||
![]() Hello world! |
![]() 支柱会员
|
引用:
全名是啥? 我就是一土老冒啊 ![]() |
|||
![]() 支柱会员
|
引用:
偶然发现的好处: 1.发掘出了几个压箱底的东东 2.如本身有较好的分类,稍改下cmd,也能实现lnk的自动分类 |
|||
![]() 合作伙伴
|
好脚本 很方便 谢谢
to 蓝色jj:tar 是啥 我也很土 能否详细介绍下呢 |
||
![]() 『软件使用』版主
|
引用:
|
|||
![]() 热心会员
|
晕,hitme的批处理技术简直登峰造极~~偶是五体投地!
|
||
![]() Ignorance is bliss. 无知是福。 |
![]() 热心会员
|
太厉害了,还好偶的快捷方式都已经在硬盘的另外的分区作了备份。
|
||
![]() 热心会员
|
TAR= TypeAndRun ?
|
||
![]() 『硬件使用』版主
|
引用:
|
|||
![]() 超级会员
|
用hitme脚本创建的快捷方式有的不能正常运行,原因是有些软件在快捷方式属性中要指定起始目录。
|
||
![]() 热心会员
|
好东西。。收了~
琢磨怎么分类的 |
||
![]() 超级会员
|
确实很棒!这样一来就方便多了!
|
||
![]() 来如微雨...去如尘... |
![]() 支柱会员
|
引用:
d:\绿色软件\net d:\绿色软件\pic 等等.. 集中在这里修改 代码:
:shortcut pause md link for /f "delims=" %%i in (list.txt) do ( shortcut -d %%~dpi "%%i" for /f "tokens=3 delims=\" %%a in ("%%i") do ( echo f | xcopy *.lnk "link\%%a\" del *.lnk ) ) 此帖于 2005-05-11 19:12:28 被 hitme 编辑. . |
|||