设计如下:
批处理所在同目录下有一程序文件Easy RM Tools.exe,使用批处理为其在桌面创建一快捷方式。
1,考虑到桌面不一定在%USERPROFILE%\桌面,所以
读取"HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"
下的"Desktop"的值,并将其设为变量desk。
@ECHO OFF&SETLOCAL ENABLEDELAYEDEXPANSION
for /f "tokens=1,2,*" %%i in ('REG QUERY "HKCU\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\USER SHELL FOLDERS" ^| FIND /I "Desktop"') DO (
SET desk=%%k
ECHO !desk!)
还有别的方法可以实现吗?
2,输出重定向的路径可以是桌面的CLSID吗?
因为可以使用Explorer /select, ::{450D8FBA-AD25-11D0-98A8-0800361B1103}
不知道echo等命令支持不?
3,如何为程序文件Easy RM Tools.exe用批处理创建一快捷方式?
要求:不使用第三方程序,
也不使用.url,即要求为.lnk
尽可能不用vbs脚本。例如下面的:
@echo
set shortCutPath="%USERPROFILE%\桌面\画图.lnk"
echo Dim WshShell,Shortcut>>tmp.vbs
echo Dim path,fso>>tmp.vbs
echo path="%SystemRoot%\system32\mspaint.exe">>tmp.vbs
echo Set fso=CreateObject("Scripting.FileSystemObject")>>tmp.vbs
echo Set WshShell=WScript.CreateObject("WScript.Shell")>>tmp.vbs
echo Set Shortcut=WshShell.CreateShortCut(%shortCutPath%)>>tmp.vbs
echo Shortcut.TargetPath=path>>tmp.vbs
echo Shortcut.Save>>tmp.vbs
"%SystemRoot%\System32\WScript.exe" tmp.vbs
@del /f /s /q tmp.vbs
pause
4,考虑快捷方式中含参数。
参数-run:rmeditor用来打开Easy RM Tools.exe的剪辑界面
不用参数,则打开Easy RM Tools.exe的压缩界面
[ Last edited by Hanyeguxing on 2009-5-27 at 13:53 ]
批处理所在同目录下有一程序文件Easy RM Tools.exe,使用批处理为其在桌面创建一快捷方式。
1,考虑到桌面不一定在%USERPROFILE%\桌面,所以
读取"HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"
下的"Desktop"的值,并将其设为变量desk。
@ECHO OFF&SETLOCAL ENABLEDELAYEDEXPANSION
for /f "tokens=1,2,*" %%i in ('REG QUERY "HKCU\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\USER SHELL FOLDERS" ^| FIND /I "Desktop"') DO (
SET desk=%%k
ECHO !desk!)
还有别的方法可以实现吗?
2,输出重定向的路径可以是桌面的CLSID吗?
因为可以使用Explorer /select, ::{450D8FBA-AD25-11D0-98A8-0800361B1103}
不知道echo等命令支持不?
3,如何为程序文件Easy RM Tools.exe用批处理创建一快捷方式?
要求:不使用第三方程序,
也不使用.url,即要求为.lnk
尽可能不用vbs脚本。例如下面的:
@echo
set shortCutPath="%USERPROFILE%\桌面\画图.lnk"
echo Dim WshShell,Shortcut>>tmp.vbs
echo Dim path,fso>>tmp.vbs
echo path="%SystemRoot%\system32\mspaint.exe">>tmp.vbs
echo Set fso=CreateObject("Scripting.FileSystemObject")>>tmp.vbs
echo Set WshShell=WScript.CreateObject("WScript.Shell")>>tmp.vbs
echo Set Shortcut=WshShell.CreateShortCut(%shortCutPath%)>>tmp.vbs
echo Shortcut.TargetPath=path>>tmp.vbs
echo Shortcut.Save>>tmp.vbs
"%SystemRoot%\System32\WScript.exe" tmp.vbs
@del /f /s /q tmp.vbs
pause
4,考虑快捷方式中含参数。
参数-run:rmeditor用来打开Easy RM Tools.exe的剪辑界面
不用参数,则打开Easy RM Tools.exe的压缩界面
[ Last edited by Hanyeguxing on 2009-5-27 at 13:53 ]
