[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 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"
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
一个人,征服了自己,也就征服了世界。

报错信息是什么?

TOP

显示不能。老问题了。
  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

评分人数

TOP

回复 3# powerbat

还是不行啊
我运行后提示 “NirCmd不是内部命令或外部命令,也不是可运行程序”
一个人,征服了自己,也就征服了世界。

TOP

回复 4# y169168712


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

评分人数

TOP

本帖最后由 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. )
复制代码
一个人,征服了自己,也就征服了世界。

TOP

返回列表