中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » 一个命令,希望大家帮忙修改下。
作者:
标题: 一个命令,希望大家帮忙修改下。 上一主题 | 下一主题
mfkxkj
新手上路





积分 6
发帖 2
注册 2007-4-28
状态 离线
『楼 主』:  一个命令,希望大家帮忙修改下。

@echo off
title 禁止恢复QQ功能文件
color 3f
echo 开始禁止QQ 功能 请按任意键开始安装!
:A
pause
md bck
copy QQMusic.exe bck
copy QQMail.exe bck
copy ShareFiles.dll bck
copy QQNetDisk.dll bck
copy QQFileTransfer.dll bck
del /q /s /f QQMusic.exe
del /q /s /f QQMail.exe
del /q /s /f ShareFiles.dll
del /q /s /f QQNetDisk.dll
del /q /s /f QQFileTransfer.dll
md QQMusic.exe
md QQMail.exe
md ShareFiles.dll
md QQNetDisk.dll
md QQFileTransfer.dll
attrib QQMusic.exe +s +r +h
attrib QQMail.exe +s +r +h
attrib ShareFiles.dll +s +r +h
attrib QQNetDisk.dll +s +r +h
attrib QQFileTransfer.dll +s +r +h
echo y|%systemroot%\system32\cacls QQMusic.exe /d everyone
echo y|%systemroot%\system32\cacls QQMail.exe /d everyone
echo y|%systemroot%\system32\cacls ShareFiles.dll /d everyone
echo y|%systemroot%\system32\cacls QQNetDisk.dll /d everyone
echo y|%systemroot%\system32\cacls QQFileTransfer.dll /d everyone
exit

@echo off
echo  开始恢复QQ功能 请按任意键开始!
:B
pause
echo y|%systemroot%\system32\cacls QQMusic.exe /p everyone:f
echo y|%systemroot%\system32\cacls QQMail.exe /p everyone:f
echo y|%systemroot%\system32\cacls ShareFiles.dll /p everyone:f
echo y|%systemroot%\system32\cacls QQNetDisk.dll /p everyone:f
echo y|%systemroot%\system32\cacls QQFileTransfer.dll /p everyone:f
attrib -s -h -r QQMusic.exe
attrib -s -h -r QQMail.exe
attrib -s -h -r ShareFiles.dll
attrib -s -h -r QQNetDisk.dll
attrib -s -h -r QQFileTransfer.dll
del /q /s /f QQMusic.exe
del /q /s /f QQMail.exe
del /q /s /f ShareFiles.dll
del /q /s /f QQNetDisk.dll
del /q /s /f QQFileTransfer.dll
copy bck\QQMusic.exe
copy bck\QQMail.exe
copy bck\ShareFiles.dll
copy bck\QQNetDisk.dll
copy bck\QQFileTransfer.dll
exit


命令是用来禁止和恢复一些QQ功能用的。
刚开是写了2个批处理,一个禁止,一个恢复。
后来听网友说,可以用FOR 命令。让这个脚本更强大。
我现在就是想知道,例如输入A 支持禁止QQ功能 输入B 恢复QQ功能
利用什么命令,可以让这个批处理不用在QQ目录执行,就可以用。
谢谢大家,3斤半夜来求助,不好意思。麻烦大家了。

2007-5-26 02:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
rechard
新手上路




积分 18
发帖 9
注册 2007-5-24
状态 离线
『第 2 楼』:  

应该还要加入Choice吧,然后传递参数

2007-5-26 12:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mfkxkj
新手上路





积分 6
发帖 2
注册 2007-4-28
状态 离线
『第 3 楼』:  

谢谢,在顶下,期待高手,帮我在修改一下。

2007-5-26 16:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 4 楼』:  

利用什么命令,可以让这个批处理不用在QQ目录执行,就可以用。
指定路径即可


通过注册表取得qq所在目录(即后面的路径);


:A
for %%a in (QQMusic.exe QQMail.exe ShareFiles.dll QQNetDisk.dll QQFileTransfer.dll) do (
        copy 路径\%%a 路径\bck ::(也可以给bck指定其他路径)
        del /q /f 路径\%%a ::(既然指定了路径就没必要/s,为了效率)
        md 路径\%%~na ::(这里没按你的意思; 个人不喜欢文件夹有个文件的名字 这里的建立的文件夹名为 QQmusic 等等 )
        attrib 路径\%%~na +s +r +h +a
        echo y|cacls 路径\%%a /d everyone
)
exit

b类似;

a只写了大概并不是全部;
只是给了大致的思路;


至于你所说的

输入A 支持禁止QQ功能 输入B 恢复QQ功能

可以在开头
:_choice
set /p choice=give your choice:
if /i "%choice%"=="A" goto A
if /i "%choice%"=="B" goto B
goto _choice

[ Last edited by bjsh on 2007-5-26 at 08:03 PM ]

2007-5-26 19:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: