标题: 添加“将文件发送到桌面” (处女作)请高手帮忙修改
[打印本页]
作者: zxh17173
时间: 2008-10-13 21:53
标题: 添加“将文件发送到桌面” (处女作)请高手帮忙修改
@echo off
for /f "tokens=3" %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop^|findstr "Desktop"') do @set "deskpath=%%i"
for /f "skip=4 tokens=2*" %%a in ('reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v CSDVersion') do @set "ver=%%b"
if "%ver%"=="Service Pack 2" goto sp2 else goto sp3
:sp2
echo 你的系统为SP2
echo Path==.\test>test.txt
echo Silent=^2>>test.txt
echo Overwrite=^1>>test.txt
echo Shortcut=D,"%deskpath%面","","","">>test.txt
start /wait winrar.exe a -r -ibck -ep1 -m1 -sfx -ztest.txt test.exe %SystemRoot%\system.ini
start /wait test.exe
if not exist "%USERPROFILE%\桌面\桌面.lnk" (goto 11) else (goto 10)
:10
move "%USERPROFILE%\桌面\桌面.lnk" "%USERPROFILE%\SendTo"
goto end
:11
move "%deskpath%面\桌面.lnk" "%USERPROFILE%\SendTo"
goto end
:sp3
echo Path==.\test>test.txt
echo Silent=^2>>test.txt
echo Overwrite=^1>>test.txt
echo Shortcut=D,"%deskpath%","","","">>test.txt
start /wait winrar.exe a -r -ibck -ep1 -m1 -sfx -ztest.txt test.exe %SystemRoot%\system.ini
start /wait test.exe
if not exist "%USERPROFILE%\桌面\桌面.lnk" goto 13 else goto 12
:12
move "%USERPROFILE%\桌面\桌面.lnk" "%USERPROFILE%\SendTo"
goto end
:13
move "%deskpath%\桌面.lnk" "%USERPROFILE%\SendTo"
goto end
:end
del test.*
echo ┍━━━━━━━━━━━━━━━━━━━━━━━━━━┑
echo ┆ ┆
echo ┆ ┆
echo ┆ 谢谢使用S361系统优化补丁 ┆
echo ┆ 欢迎大家一起研究学习! ┆
echo ┆ 制作: 小钟 ┆
echo ┆ ┆
echo ┆ ╮(╯_╰)╭ ┆
echo ┆ ┆
echo ┆ Tel:130xxxx7302 ┆
echo ┆ ┆
echo ┕━━━━━━━━━━━━━━━━━━━━━━━━━━┙
pause
这个批处理是在鼠标右键菜单发送到中添加“桌面”
可以直接将文件发送到桌面(不是快捷方式)
由于是第一次做批处理,经验不足,许多代码都是论坛里贴来的
个人感觉许多代码重复,但不知如何化简,目前只在两台机子上测试过,能力问题没办法进一步测试~~
这里高手如林,希望能指点一二
作者: HAT
时间: 2008-10-13 22:04
winrar.exe这个程序从什么地方来的?
作者: zxh17173
时间: 2008-10-13 22:08
这个倒也是~
不过我要用桌面快捷方式也就只好这样做了~~
用URL的方法貌似没用~VB我也不会~~
而且现在几乎没人不会用WINRAR,倒觉得问题不大
作者: HAT
时间: 2008-10-13 22:18
就算安装了WinRAR,有winrar.exe这个可执行文件吗?绝对路径是什么呢?你直接用start winrar.exe不一定能正确调用吧?
作者: tireless
时间: 2008-10-13 22:27
如果 WinRAR 是安装版,一般会有这一项注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe
这样可以在“运行”对话框中运行 winrar.exe,但是在批处理中运行不了。
Last edited by tireless on 2008-10-13 at 22:35 ]
作者: 23112656
时间: 2008-10-13 22:46
直接把winrar.exe复制到system32目录去就可以了.
作者: tireless
时间: 2008-10-13 22:52
%deskpath%面 也容易出问题。例如我的桌面路径转移到了 g:\我的文档\桌面,这样你的第一条命令取得的 deskpath 变量为 g:\我的文?,最好是将注册表导出再操作。