原贴就是强!
http://bbs.et8.net/bbs/showthread.php?t=657396
看看人家编程的格式,太专业了, 怎么看都象C系语言,呵呵。程序的思路清晰明了。用到了一个shortcut.exe,是NT资源工具包里面的,论坛上有
[ Last edited by electronixtar on 2006-6-21 at 21:16 ]
http://bbs.et8.net/bbs/showthread.php?t=657396
看看人家编程的格式,太专业了, 怎么看都象C系语言,呵呵。程序的思路清晰明了。用到了一个shortcut.exe,是NT资源工具包里面的,论坛上有
今天格了盘,忘了备绿色/准绿色程序的快截方式,目录进进出出实在烦
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
[ Last edited by electronixtar on 2006-6-21 at 21:16 ]
