找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21750|回复: 5

[文件操作] [已解决]为什么用第三方命令行程序批量创建快捷方式出错?

[复制链接]
发表于 2011-11-22 15:47:06 | 显示全部楼层 |阅读模式
本帖最后由 y169168712 于 2011-11-23 14:15 编辑

我想使用nircmd批量创建快捷方式

原始代码:
  1. for /r 0-网络软件\xx %%a in (*.exe) do (nircmd shortcut "%%a" 快捷方式的位置 %%~na)
复制代码
为了方便我想利用原有文件路径创建快捷方式做了下改动

原有路径是这样的,后面还有很多的子文件夹
"0-网络软件\下载工具"
"0-网络软件\主页浏览"
"0-网络软件\云端软件"
"0-网络软件\网络共享"
"0-网络软件\网络影音"
"0-网络软件\网络监测"
"0-网络软件\联络聊天"
"0-网络软件\远程监控"

我想改成创建的快捷方式位置还是那样的:
"快捷方式的位置\0-网络软件\下载工具"
"快捷方式的位置\0-网络软件\主页浏览"
"快捷方式的位置\0-网络软件\云端软件"
"快捷方式的位置\0-网络软件\网络共享"
"快捷方式的位置\0-网络软件\网络影音"
"快捷方式的位置\0-网络软件\网络监测"
"快捷方式的位置\0-网络软件\联络聊天"
"快捷方式的位置\0-网络软件\远程监控"

改完之后的代码:
  1. for /f %%i in ('dir /b/a:d "%cd%"\0-网络软件') do (
  2. for /r "0-网络软件\%%~ni" %%a in (*.exe) do (
  3. nircmd shortcut "%%a" 快捷方式的位置\%%~ni %%~na
  4. ))
复制代码
难道for /r后面不能同时出现两个%%i变量吗



NirCmd 2.65下载地址:http://www.onlinedown.net/soft/44565.htm
NirCmd v2.20帮助文档中文译本: http://www.bathome.net/viewthread.php?tid=2992&highlight=NirCmd

shortcut [filename] [folder] [shortcut title] {arguments} {icon file} {icon resource number} {ShowCmd} {Start In Folder} {Hot Key}
创建文件的快捷方式
参数:
[filename]: 创建快捷方式的文件名
[folder]: 指定目标文件夹,并创建该有效文件夹的快捷方式,置于该文件夹下。可以使用特定变量来表示系统文件夹,如:~$folder.desktop$ ("桌面"文件夹), ~$folder.programs$ ("所有程序"文件夹), 等....
[shortcut title]: 快捷方式名称
{arguments}: 可选参数—用于执行文件名的额外辅助参数
{icon file}: 可选参数—用指定图标代替默认快捷方式图标显示
{icon resource number}: 可选参数—图标文件索引号(译者注:集成在SHELL32.dll中,索引号获取不同图标)
{ShowCmd}: 可选参数—用于需要最大化或最小化显示程序窗口。可以指定为最大化或最小化显示。
{Start In Folder}:可选参数—指定"开始"文件夹。如果未指定则自动以"所有程序"文件夹下文件名来填充。
{Hot Key}:可选参数—指定某快捷方式热键。如:Alt+Ctrl+A, Alt+Shift+F8, Alt+Ctrl+Shift+Y
例子:
shortcut "f:\winnt\system32\calc.exe" "~$folder.desktop$" "Windows Calculator" 1111111
shortcut "f:\winnt\system32\calc.exe" "~$folder.programs$\Calculators" "Windows Calculator"
shortcut "f:\Program Files\KaZaA\Kazaa.exe" "c:\temp\MyShortcuts" "Kazaa"
shortcut "f:\Program Files" "c:\temp\MyShortcuts" "Program Files Folder" "" "f:\winnt\system32\shell32.dll" 45
shortcut "f:\Program Files" "c:\temp\MyShortcuts" "Program Files Folder" "" "" "" "max"

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-11-22 22:15:35 | 显示全部楼层
报错信息是什么?
发表于 2011-11-22 22:20:53 | 显示全部楼层
显示不能。老问题了。

  1. @echo off
  2. for /f %%i in ('dir /b/a:d "%cd%"\file') do (
  3.     pushd "file\%%~nxi"
  4.     for /r %%a in (*.exe) do (
  5.         nircmd shortcut "%%a" 快捷方式的位置\%%~ni %%~na
  6.     )
  7.     popd
  8. )
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2011-11-23 13:30:11 | 显示全部楼层
回复 3# powerbat

还是不行啊
我运行后提示 “NirCmd不是内部命令或外部命令,也不是可运行程序”
发表于 2011-11-23 13:44:45 | 显示全部楼层
回复 4# y169168712


先把nircmd放到C:\windows\system32\下面

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2011-11-23 14:10:23 | 显示全部楼层
本帖最后由 y169168712 于 2011-11-23 14:14 编辑

回复 5# awk


总算是可以成功运行了
不过把快捷方式创建到了这里

"0-网络软件\下载工具\快捷方式的位置\下载工具"
"0-网络软件\主页浏览\快捷方式的位置\主页浏览"
"0-网络软件\云端软件\快捷方式的位置\云端软件"
"0-网络软件\网络共享\快捷方式的位置\网络共享"
"0-网络软件\网络影音\快捷方式的位置\网络影音"
"0-网络软件\网络监测\快捷方式的位置\网络监测"
"0-网络软件\联络聊天\快捷方式的位置\联络聊天"
"0-网络软件\远程监控\快捷方式的位置\远程监控"

我想找个统一的位置改动了一下总算是完成了
  1. @echo off
  2. for /f %%i in ('dir /b/a:d "%cd%"\0-网络软件') do (
  3.     pushd "0-网络软件\%%~nxi"
  4.     for /r %%a in (*.exe) do (
  5.         nircmd shortcut "%%a" ~$folder.desktop$\快捷方式的位置\%%~ni %%~na
  6.     )
  7.     popd
  8. )
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 08:26 , Processed in 0.020208 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表