批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

Windows下用批处理批量创建快捷方式

本帖最后由 y169168712 于 2020-5-10 10:48 编辑

希望有人能把这个批处理改进一下做成三层的,或者做成PowerShell版的

要用到的命令行工具NirCmd
NirCmd.exe下载后复制到系统目录
32位系统复制到C:\Windows\System32
64位系统复制到C:\Windows\SysWOW64

NirCmd下载地址
http://www.nirsoft.net/utils/nircmd-x64.zip
http://www.onlinedown.net/soft/970876.htm
NirCmd 中文版帮助文档
http://down.51cto.com/data/1976412



批量创建快捷方式,有分类目录

创建目录环节

首先创建好目录,下载好软件,按照下面的格式放入目录,软件必须是绿色便携(Portable),并且支持中文路径,如果不支持中文路径就得改为英文路径。
注意以下目录路径中不能带有空格,遇到空格必须替换成-或者其他字符,最好删除空格。#号后面的exe文件名不能重复,如果重复了需要更改为其他名称,exe应用名也要一起更改。
1.创建主目录
x:\app

2.创建分类目录
x:\app\下载
x:\app\硬件检测
x:\app\系统工具
x:\app\游戏工具
x:\app\网络游戏
x:\app\单机游戏

3.分类目录放入便携软件,我的思路是使用文件夹作为参数,用#号作为分割符,#号前面是快捷方式的名称,#号后面是exe运行文件的名称。
使用系统自带forfiles命令搜索.exe文件,使用nircmd shortcut命令批量创建快捷方式。


放入便携软件格式如下:
x:\apps\下载\迅雷#ThunderStart
x:\apps\硬件检测\显卡检测gpu-z#GPU-Z
x:\apps\系统工具\Hosts编辑器#HostsEditor
...
...


创建批处理环节

创建后的快捷方式位置默认在桌面app文件夹有需要可以更改。

批处理x:\app\批量创建快捷方式.bat内容为:
  1. @echo on
  2. @ECHO ▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂设置环境变量
  3. set "t=%time%"
  4. rem 删除快捷方式
  5. ::nircmd execmd RD /s /q ~$folder.desktop$\app
  6. rem 创建快捷方式
  7. for /f %%i in ('dir /b /a:d /o:n') do (
  8. for /f "delims=# tokens=1-2" %%a in ('dir %~dp0%%i /b /a:d /o:n') do (
  9. forfiles /p .\%%i\%%a#%%b /M %%b.exe /S /C "cmd /c nircmd shortcut @path ~$folder.desktop$\app\%%i %%a")
  10. )
  11. @ECHO ▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂记录运行所需的时间
  12. set "t1=%time%"
  13. if "%t1:~,2%" lss "%t:~,2%" set "add=+24"
  14. set /a "times=(%t1:~,2%-%t:~,2%%add%)*360000+(1%t1:~3,2%%%100-1%t:~3,2%%%100)*6000+(1%t1:~6,2%%%100-1%t:~6,2%%%100)*100+(1%t1:~-2%%%100-1%t:~-2%%%100)" ,"ss=times/100%%60","mm=times/6000%%60","hh=times/360000","ms=times%%100"
  15. echo 本次批处理运行时间为%hh%小时:%mm%分钟:%ss%.%ms%秒
  16. pause
复制代码
运行批处理x:\app\批量创建快捷方式.bat会在桌面生成“app”文件夹以及快捷方式图标。



批量创建快捷方式,没有分类目录


首先创建好目录,下载好软件,按照下面的格式放入目录,软件必须是绿色便携(Portable),并且支持中文路径,如果不支持中文路径就得改为英文路径。
注意以下目录路径中不能带有空格,遇到空格必须替换成-或者其他字符,最好删除空格。#号后面的exe文件名不能重复,如果重复了需要更改为其他名称,exe应用名也要一起更改。

创建主目录:
x:\游戏

放入游戏格式如下
x:\游戏\魔兽争霸3#War3
x:\游戏\孤单枪手#AlienShooter

创建批处理x:\游戏\批量创建游戏快捷方式.bat内容为:
  1. @echo on
  2. rem 删除快捷方式
  3. nircmd execmd RD /s /q ~$folder.desktop$\app\app
  4. @ECHO ▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂设置环境变量
  5. set "t=%time%"
  6. rem 创建快捷方式
  7. for /f "delims=# tokens=1-2" %%a in ('dir /b /a:d /o:n') do (
  8. forfiles /p .\%%a#%%b /M %%b.exe /S /C "cmd /c nircmd shortcut @path ~$folder.desktop$\app\app %%a")
  9. @ECHO ▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂记录运行所需的时间
  10. set "t1=%time%"
  11. if "%t1:~,2%" lss "%t:~,2%" set "add=+24"
  12. set /a "times=(%t1:~,2%-%t:~,2%%add%)*360000+(1%t1:~3,2%%%100-1%t:~3,2%%%100)*6000+(1%t1:~6,2%%%100-1%t:~6,2%%%100)*100+(1%t1:~-2%%%100-1%t:~-2%%%100)" ,"ss=times/100%%60","mm=times/6000%%60","hh=times/360000","ms=times%%100"
  13. echo 本次批处理运行时间为%hh%小时:%mm%分钟:%ss%.%ms%秒
  14. pause
复制代码
运行批处理x:\游戏\批量创建游戏快捷方式.bat会在桌面生成“app\app”文件夹以及快捷方式图标。
一个人,征服了自己,也就征服了世界。

返回列表