中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-01 14:51
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请高手们帮忙看一下我写的这个批处理!多谢! 查看 1,383 回复 7
楼 主 请高手们帮忙看一下我写的这个批处理!多谢! 发表于 2007-01-19 02:05 ·  中国 江苏 徐州 电信
新手上路
积分 10
发帖 3
注册 2007-01-16 15:29
19年会员
UID 76705
性别 男
状态 离线
echo off
start /w c:\"Program Files"\QQ\qq.exe

set /p v=是否备份QQ聊天纪录(y/n)?
if %v%==y (
start c:\"Program Files"\winrar\rar.exe A -ep1 d:\QQbak\QQbak.rar c:\"Program Files"\QQ\88513989 )

~~~~~~~~~~~~~~~~~~~~
然后在桌面上建个快捷方式,以最小化的方式启动窗口,等QQ关闭后,就会要你选择是否备份。问题就在这:因为是最小化启动的窗口,所以关闭QQ后就无法看到提示,需要先将窗口还原了才行,这样感觉程序很不方便。我是菜鸟新手,还请高手们能帮忙完善完善这个小程序。多多指点!多谢了!
2 发表于 2007-01-19 02:40 ·  中国 广东 深圳 福田区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
很难做到~
第一高手 第二高手

3 发表于 2007-01-19 02:41 ·  中国 四川 成都 联通
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
20年会员
UID 42173
性别 男
状态 离线
不方便就去学VC++
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
newworld +1 2007-01-19 12:58

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
4 发表于 2007-01-19 03:05 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
试试:
set errorlevel=
start /wait cmd /c "title 是否备份QQ聊天纪录 && mode con cols=37 lines=3&&echo.&&set /p N= 备份QQ聊天纪录,直接回车取消"
if "%errorlevel%" == "0" echo......
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
newworld +1 2007-01-19 12:58
5 发表于 2007-01-19 03:08 ·  中国 广东 深圳 福田区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
试试这个~把主批处理最小化启动就可以了
@echo off
setlocal enabledelayedexpansion
echo.
echo 正在搜索QQ目录 ......
for /f "delims=\" %%i in ('fsutil fsinfo drives^|find /v ""') do (
set var=%%i
set drive=!var:~-2!
fsutil fsinfo drivetype !drive!|find "固定">nul 2>nul && dir /s /a-d /b !drive!\QQ.exe>>tmp.txt 2>nul
)
set /p QQdir=<tmp.txt
del tmp.txt
echo Path=%QQdir:~0,-7%>test.txt
echo Silent=^1>>test.txt
echo Overwrite=^2>>test.txt
echo Shortcut=D, "qq.exe", "\", "聊天工具。", "腾讯QQ">>test.txt
start /wait /min winrar.exe a -r -ep1 -m1 -sfx -ztest.txt test.exe "%QQdir%"
start /wait /min test.exe
del test.*
echo @echo off>"%QQdir:~0,-7%\test.bat"
echo set /p v=是否备份QQ聊天纪录(y/n)?>>"%QQdir:~0,-7%\test.bat"
echo if %%v%%==y ^(>>"%QQdir:~0,-7%\test.bat"
echo start winrar.exe A -ep1 "d:\QQbak\QQbak.rar" "%QQdir:~0,-7%\88513989">>"%QQdir:~0,-7%\test.bat"
echo ^)>>"%QQdir:~0,-7%\test.bat"
echo Path=%%temp%%>test2.txt
echo SavePath>>test2.txt
echo Setup=test.bat>>test2.txt
echo Silent=^1>>test2.txt
echo Overwrite=^1>>test2.txt
start /wait /min winrar.exe a -r -ep1 -m1 -sfx -ztest2.txt "%QQdir:~0,-7%\test.exe" "%QQdir:~0,-7%\test.bat"
del test2.*
"%QQdir%"
"%QQdir:~0,-7%\test.exe"


[ Last edited by fastslz on 2007-1-18 at 03:11 PM ]
第一高手 第二高手

6 发表于 2007-01-19 03:26 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
另,可以用:

echo off
start /w c:\"Program Files"\QQ\qq.exe

cmdow.exe @ /res
cmdow.exe @ /act


set /p v=是否备份QQ聊天纪录(y/n)?
if %v%==y (
start c:\"Program Files"\winrar\rar.exe A -ep1 d:\QQbak\QQbak.rar c:\"Program Files"\QQ\88513989 )


cmdow:
http://www.cn-dos.net/forum/viewthread.php?tid=26141
4 楼
7 发表于 2007-01-19 12:40 ·  中国 江苏 徐州 电信
新手上路
积分 10
发帖 3
注册 2007-01-16 15:29
19年会员
UID 76705
性别 男
状态 离线
真的非常感谢楼上的各位朋友的帮助!!!多谢了!!!虽然这个功能在高级语言里实现起来很容易,但是有许多时候的操作环境是只能用windows自己现成的东西,这时候就体现出批处理的绝对优势了,再次感谢!!!
8 发表于 2007-01-19 21:27 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线

@echo off
%1 %2
start /w c:\"Program Files"\QQ\qq.exe
start /i "" "%~nx0" goto msg
goto :eof
:msg
set /p v=是否备份QQ聊天纪录(y/n)?
if %v%==y (
start c:\"Program Files"\winrar\rar.exe A -ep1 d:\QQbak\QQbak.rar c:\"Program Files"\QQ\88513989 )

论坛跳转: