Board logo

标题: 添加“将文件发送到桌面” (处女作)请高手帮忙修改 [打印本页]

作者: 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:\我的文?最好是将注册表导出再操作。