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

set LnkFile=D:\test\b.txt
分别是什么路径?
http://www.bathome.net/thread-15472-1-1.html
这个该如何弄?包括自动换图标,自动修改后无需小箭头的那种

TOP

回复 16# wh1234567


    一直对mshta的稳定性存在疑虑,好比这个快捷方式,明明以前还用着,今天用了居然不起作用了。
    用心去找了下原因,原来是路径有问题,修改了下路径就可以了!~

  1. @echo off
  2. ::演示将本批处理程序的快捷方式创建到桌面。对路径名比较敏感,请使用完整的路径名。
  3. set SrcFile=%~0
  4. set LnkFile=%USERPROFILE%\桌面\%~n0
  5. call :CreateShort "%SrcFile%" "%LnkFile%"
  6. goto :eof
  7. ::SrcFile                目标文件路径
  8. ::LnkFile                快捷方式路径(需要重新指定快捷方式的名称)。
  9. ::Arguments              目标程序参数
  10. ::Description            快捷方式备注
  11. ::FullName               返回快捷方式完整路径
  12. ::Hotkey                 快捷方式快捷键
  13. ::IconLocation           快捷方式图标,不设则使用默认图标
  14. ::TargetPath             目标
  15. ::WindowStyle            窗口启动状态
  16. ::WorkingDirectory       起始位置
  17. :CreateShort
  18. mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(""%~2.lnk""):b.TargetPath=""%~1"":b.WorkingDirectory=""%~dp1"":b.Save:close")
复制代码
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 16# wh1234567


“小箭头”是由一个注册表键值控制的

TOP

直接用右键····

TOP

留名,后期好好研究。

TOP

本帖最后由 Linuxer 于 2014-8-14 17:52 编辑

回复 17# cjiabing


    好帖~~我发现在win7系统里,桌面的路径会自动变成desktop。
  1. set LnkFile=%USERPROFILE%\Desktop\%~n0
复制代码
改成这样代码就顺利执行了。
另外,看前两行代码都有%~0还以为这俩是同一个,,结果测试后才发现,这两个不是一个概念。
第一个%~0是需要创建快捷方式的文件的完整路径,第二个%~0是在桌面想要创建的快捷方式的名称
通过这段批处理还学到了其他几个知识点,比如mshta及组合批参数的用法,,,感谢~~

TOP

回复 21# Linuxer


    欢迎交流!~
%~0    ,指显示批处理文件自身的完整路径名(路径名和文件名和后缀名)。
%~n0   ,指显示批处理文件自身的文件名。
具体可以参考  for/?  最后几段。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 22# cjiabing


    额。不好意思,,看错了。。竟然都看成是%~0了。。。没注意第二个是%~n0   

TOP

回复 1# cjiabing
我试了 echo 方式,图标不能正确显示!
  1. @echo off
  2. SetLocal EnableDelayedExpansion
  3. for %%i in (MSACCESS Excel WINWORD POWERPNT) do (
  4. echo [InternetShortcut]>"%USERPROFILE%\Desktop\%%i.url"
  5. echo URL="%~dp0Office16\%%i.exe">>"%USERPROFILE%\Desktop\%%i.url"
  6. echo IconIndex=0>>"%USERPROFILE%\Desktop\%%i.url">nul
  7. echo IconFile="%~dp0Office16\%%i.exe">>"%USERPROFILE%\Desktop\%%i.url"
  8. )
  9. pause
复制代码
统一是地球图标,手工指定才能正确显示。用HEX编辑器查看,就差IconIndex不能正确写入!

TOP

回复 24# aries215


    把>nul删掉试试
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 aries215 于 2019-1-6 21:18 编辑

回复 25# Batcher
结果一样!
开始没有>nul的,提示索引为空才加上的。

TOP

回复 26# aries215


    >>"%USERPROFILE%\Desktop\%%i.url" echo IconIndex=0
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 25# Batcher
用这个命令简单有效:
  1. MKLINK Link Target
复制代码

TOP

回复 27# Batcher
也试了,一样是统一地球图标。
你试过行吗?

TOP

回复 29# aries215


    IconIndex=0这一行还是不能写入url文件吗?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表