|
electronixtar
铂金会员
积分 7493
发帖 2672
注册 2005-9-2
状态 离线
|
『楼 主』:
[转贴]批量跑出程序的快捷方式
原贴就是强!
http://bbs.et8.net/bbs/showthread.php?t=657396
看看人家编程的格式,太专业了, 怎么看都象C系语言,呵呵。程序的思路清晰明了。用到了一个shortcut.exe,是NT资源工具包里面的,论坛上有
Quote: | 今天格了盘,忘了备绿色/准绿色程序的快截方式,目录进进出出实在烦
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 ]
|
C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>" |
|
2006-6-21 21:11 |
|
|
wsklll
初级用户
积分 79
发帖 31
注册 2006-6-11
状态 离线
|
『第
2 楼』:
electronixtar 转的帖子 都有质量哦
得好好学习
|
|
2006-6-24 23:44 |
|
|
yywd
中级用户
积分 358
发帖 130
注册 2005-11-12
状态 离线
|
『第
3 楼』:
没shortcut呀, 谁传一下好吗
|
|
2007-5-18 09:30 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
4 楼』:
Quote: | Originally posted by yywd at 2007-5-18 09:30:
没shortcut呀, 谁传一下好吗 |
|
论坛里面有,自己搜索一下。
|
|
2007-5-18 12:45 |
|
|
ttyp
初级用户
积分 180
发帖 84
注册 2006-9-7
状态 离线
|
|
2007-5-18 12:53 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
6 楼』:
呵呵,楼主自己的帐号都是借来的。
|
|
2007-5-18 12:56 |
|
|
ttyp
初级用户
积分 180
发帖 84
注册 2006-9-7
状态 离线
|
|
2007-5-18 12:59 |
|
|
ttyp
初级用户
积分 180
发帖 84
注册 2006-9-7
状态 离线
|
|
2007-5-18 13:00 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
9 楼』:
To ttyp:
没有帐号可以看里面的帖子,只是不能发贴、下载里面的文件罢了。
不要帐号也罢。呵呵。
|
|
2007-5-18 13:10 |
|
|
ttyp
初级用户
积分 180
发帖 84
注册 2006-9-7
状态 离线
|
『第
10 楼』:
Quote: | Originally posted by lxmxn at 2007-5-18 13:10:
To ttyp:
没有帐号可以看里面的帖子,只是不能发贴、下载里面的文件罢了。
不要帐号也罢。呵呵。 |
|
以前经常关顾的,但是有段日子游客连访问都不能了,所以好久都没去了,不能下载也麻烦,看到好的软件工具不能下,扫兴啊:mad:,其实好的网站不很多么,深度,无忧,龙族等
|
|
2007-5-18 13:11 |
|
|
hntigger
新手上路
积分 11
发帖 8
注册 2006-10-11
状态 离线
|
|
2007-9-10 07:21 |
|
|
senffon
初级用户
积分 118
发帖 66
注册 2005-10-21
状态 离线
|
『第
12 楼』:
这个不错,不过生成的快捷方式要是能是程序名(中文名)就是说快捷方式名取程序的目录名就好了,好像我以前发过的这个!
@echo off
@color 0b
if not exist "C:\Progra~1\winrar\rar.exe" pause>nul|@echo.& echo.本程序需要WINRAR配合使用,请安装winrar后继续..
echo 正在扫描硬盘文件,请稍候.......
echo TempMode >%temp%\shortlst
echo Silent=1 >>%temp%\shortlst
echo Overwrite=2 >>%temp%\shortlst
for /f "delims=\ tokens=1,2,3,4" %%a in ('dir /b /s %cd%\*.exe') do (
Echo shortcut=D,"%%a\%%b\%%c\%%~nxd","","","%%c">>%temp%\shortlst)
C:\Progra~1\winrar\rar.exe a -sfx %temp%\short.exe nul -z <%temp%\shortlst >nul
pause>nul|@echo.& echo.文件扫描完成,请按任意键继续生成快捷方式..
start %temp%\short.exe
exit
|
|
2009-4-2 10:43 |
|