| 
 
electronixtar 
铂金会员
 
       
 
  
  
积分 7493 
发帖 2672 
注册 2005-9-2 
状态 离线
 | 
『楼 主』:
 [转贴]批量跑出程序的快捷方式
 
使用 LLM 解释/回答一下
  
原贴就是强! 
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 ]  
 
    
 
  
  |  
                  
  
                     
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 
状态 离线
 | 
 | 
  2006-6-24 23:44 | 
  
 | 
 | 
 
yywd 
中级用户
 
   
 
  
  
积分 358 
发帖 130 
注册 2005-11-12 
状态 离线
 | 
 | 
  2007-5-18 09:30 | 
  
 | 
 | 
 
lxmxn 
版主
 
        
 
  
 
积分 11386 
发帖 4938 
注册 2006-7-23 
状态 离线
 | 
『第 4 楼』:
 
 
使用 LLM 解释/回答一下
  
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 
状态 离线
 | 
 | 
  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 楼』:
 
 
使用 LLM 解释/回答一下
  
To ttyp: 
 
没有帐号可以看里面的帖子,只是不能发贴、下载里面的文件罢了。 
 
不要帐号也罢。呵呵。 
 
    
 
  
 |   
 | 
  2007-5-18 13:10 | 
  
 | 
 | 
 
ttyp 
初级用户
 
  
 
  
  
积分 180 
发帖 84 
注册 2006-9-7 
状态 离线
 | 
『第 10 楼』:
 
 
使用 LLM 解释/回答一下
  
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 楼』:
 
 
使用 LLM 解释/回答一下
  
这个不错,不过生成的快捷方式要是能是程序名(中文名)就是说快捷方式名取程序的目录名就好了,好像我以前发过的这个! 
 
@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 | 
  
 |