查看资料 发小纸条

金币数:443

收藏数:

访问量:

最近谁翻过

>> 网吧技术

网吧批处理实战-讲解+应用

2008-01-28 23:27:03

小贴士:测试:你对别人的重要性和利用率

! 第一、二、三章简单实例及进阶



解答交流群 47106155

最近确实很忙!没太多时间写东西!今天给大家奉上一篇P处理文章!

网吧用P处理不在是什么新鲜的事情!首先如果大家需要用P处理先了解下面一段代码!

'if 1=2 then Wscript.echo "Impossible!"

DIM objShell

set objShell=wscript.createObject("wscript.shell")

iReturn=objShell.Run("cmd.exe /C 路径\批处理程序名", 0, TRUE)

为什么要了解上面一段代码?熟悉的朋友都知道上面代码是 一段VBS代码 其实就是凋用批处理文件! 这样就不会在开机跳出黑色的框框

首先讲第一步:批处理的部署

网吧批处理的部署一般情况很简单! 以下代码

@echo off

ping -n 8 127.0.0.1 >nul

call \\gamesrv\start$\start.bat

这段代码 也很简单 第一行就不讲了 第二行 是 ping 本机 8秒后 执行下一行代码 起主要原因是担心 开机后计算机还没有联网 之间运行第三句的时候 无法连接服务器 导致运行失败!

第三句的意思 就是凋用 gamesrv 上的 start.bat 这个批处理! 也就是说 把这段代码保存为P处理 放到计算机启动后 可以让其每次都从服务器上凋批处理 这样方便大家管理! 怎么方便 后面讲!

第二步:批处理简单应用

1、条件冰点为单机版、为了方便更改桌面项。比如说 网吧新做了个电影服务器 要在客户机桌面上添加

第一步 在服务器上 建立个 DS 文件夹 里面存放桌面上所有的图标 包括新电影 共享名为 DS$

那么在服务器上的start.bat 代码如下

@echo off

del /s /y "%USERPROFILE%"\桌面\

xcopy /s /y \\gamesrv\ds$\ "%USERPROFILE%"\桌面\

代码很简单 这样我们的桌面图标就全部更换完毕了! 其中 "%USERPROFILE%" 为 C:\Documents and Settings\Administrator

其他参照以下代码

ALLUSERSPROFILE=C:\Documents and Settings\All Users

APPDATA=C:\Documents and Settings\Administrator\Application Data

ClusterLog=C:\WINDOWS\Cluster\cluster.log

CommonProgramFiles=C:\Program Files\Common Files

COMPUTERNAME=GAMESRV

ComSpec=C:\WINDOWS\system32\cmd.exe

FP_NO_HOST_CHECK=NO

HOMEDRIVE=C:

HOMEPATH=\Documents and Settings\Administrator

LOGONSERVER=\\GAMESRV

NUMBER_OF_PROCESSORS=2

OS=Windows_NT

Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem

PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

PROCESSOR_ARCHITECTURE=x86

PROCESSOR_IDENTIFIER=x86 Family 15 Model 107 Stepping 1, AuthenticAMD

PROCESSOR_LEVEL=15

PROCESSOR_REVISION=6b01

ProgramFiles=C:\Program Files

PROMPT=$P$G

SESSIONNAME=Console

SystemDrive=C:

SystemRoot=C:\WINDOWS

TEMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp

TMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp

USERDOMAIN=GAMESRV

USERNAME=Administrator

USERPROFILE=C:\Documents and Settings\Administrator

windir=C:\WINDOWS

也可以 在开始--运行---cmd----在输入 set 查看!

第三步:安全应用 ARP 攻击属于现在最多的! 现在最好的解决方法是 双绑 最好 还有一些ARP防火墙等

我将一种在双绑基础上更安全的方法 看下面代码

@echo off

arp -s 0.0.0.0 XX-XX-XX-XX-XX-XX

rename c:\windows\system32\arp.exe xxxxx.xxxxxx

这段代码 第二行的意思是 arp 本机绑定 第三句是 把arp.exe 这个程序改名 为 XXXX.xxxxxx运行这段代码后,大家可以在运行下第二行 这时候就会报错!

上一章给大家介绍了简单的P处理应用!

这一张讲解先实战加结合,结合前先看一段代码

@echo off

@echo ╔┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉╗

@echo ┋ ┋

@echo ┋ NoPassword 网吧系统-开机设置批处理---- ┋

@echo ┋ ┋

@echo ╚┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉╝

@echo ---------------------------------------------------

set /p srv=[请输入讯闪服务器IP或计算机名]:

@echo ---------------------------------------------------

echo [更新] >"%ProgramFiles%"\凋用程序\cfg.ini

echo 远程目录=\\%srv%\menu$\ >>"%ProgramFiles%"\凋用程序\cfg.ini

echo 本地目录=d:\GameMenu\ >>"%ProgramFiles%"\凋用程序\cfg.ini

echo 执行文件=d:\GameMenu\游戏菜单.exe >>"%ProgramFiles%"\凋用程序\cfg.ini

echo :::下面请勿修改 >>"%ProgramFiles%"\凋用程序\cfg.ini

echo [辅助] >>"%ProgramFiles%"\凋用程序\cfg.ini

echo 连接超时=5000 >>"%ProgramFiles%"\凋用程序\cfg.ini

echo 调用程序名=原调用.exe >>"%ProgramFiles%"\凋用程序\cfg.ini

有兴趣的朋友可以把以下代码保存为bat格式看下!

讲解下 前面的我就不多说了 从红色部分开始

set /p srv=[请输入讯闪服务器IP或计算机名]

批处理中 set /p *=注释 这的意思就是可以让操作者手动输入一段字符, 其中 * 的意思是一个变量 可以自己选择 我上面红色的是 srv 那么请仔细看下面这一行

echo 远程目录=\\%srv%\menu$\ >>"%ProgramFiles%"\凋用程序\cfg.ini

其中红色部分 就是与第一部分 srv= 中的 srv 对应 这的意思也就是说 %srv%=srv 那srv 又等于了您输入的字符!这就代表了引用,也就是变量.利用以上方法 我们进行一个实例演示

比如你想用一段批处理 让别人输入一段字符 然后保存到 D盘 的test.txt 中 那么我们可以这么表示

@echo off

set /p zf=[请输入一段字符,您输入的将保存到d盘test.txt 中]:

echo %zf% >d:\test.txt

echo :::您输入的字符已经保存完毕

pause

大家试了吗? 不错吧 你输入的字符已经存在与D盘的 test.txt 文件中

不知道 大家现在经过第一段代码 和实例代码 发现一个问题没有 就是第一段代码中 写入字符 是按行保存

而我们实例代码 无论运行多少次,都只保存第一行!

把两段代码结合起来比较下 大家不难发现

echo 字符 >保存文件路径及名称

echo 字符 >>保存文件路径及名称

大家发现什么 一个是">" 一个 却是">>"

对的 在批处理中 echo 可以表示为注释 也可以 向指定位置写入符 并保存到文件中 而>就个符号就是关键 一个表示写入 两个表示 按行写入! 把上面 实例代码 修改一下 为

@echo off

set /p zf=[请输入一段字符,您输入的将保存到d盘test.txt 中]:

echo %zf% >>d:\test.txt

echo :::您输入的字符已经保存完毕

pause

大家会看到 你运行几次 输入的字符 是按行排列下去! 很好完吧!

接下来 利用我们上面将的 进行修改计算机名

@echo off

set /p 机器号=[请输入计算机名]:

@echo off

:::第一步 写入注册表首行及次行

@echo Windows Registry Editor Version 5.00 >cpname.reg

@echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName] >>cpname.reg

:::第二步 将变量改为计算机名

@echo "ComputerName"="wb%机器号%" >>cpname.reg

@echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] >>cpname.reg

:::用变量"机器号"去替换实际的机器名

@echo "NV Hostname"="wb%机器号%" >>cpname.reg

@echo "Hostname"="wb%机器号%" >>cpname.reg

:::导入注册表 "cpname.reg"

@regedit /s cpname.reg

看了下大家的回贴 wb%机器号% 这的WB 也就是你网吧机器名前面的字母 如下面一位仁兄所说如果是天下网盟15号 那就是 TXWM%机器号%

大家不知道看懂没有! 其实思路就 我们把人工输入的计算机编号 转成为 注册表文件 最后导入到注册表中 从而达到修改计算机名的效果! 需要大家注意的 在红色部分 大家自己理解 不明白问我!

今天就讲这么多!

-----------------------------------

第三章 判断语句执行!

首先大家先看判断语句的格式 拿清除^^文件为例

if exist %systemdrive%\*.tmp del /f /s /q %systemdrive%\*.tmp

大家先看这段代码 由几个部分 组成

第一部分 if exist 判断

第二部分 &sytemdrive&\*.tmp

第三部分 del

第四部分 /f /s /q

先说第一部分

其实这就是在判断 如果 什么 我们 则什么 第二部分就是前面讲过的 set 下的目录代码

第三部分 就是 删除 第四部分 就是参数

连起来的意思就是 如果 %systemdrive%\ 下 存在 后缀为 .tmp 的文件 我们则删除 这些文件

这样大家就更好理解了 这样我们来 自己写段 删除 D盘 单个文件的判断语

首先

if exist d:\*.jpg del d:\*.jpg 这段就是判断图片文件 这大家就可以 自己发挥想像了

那么我们接下来讲 if 中的 变量判断

if "%dm%"=="" goto del1

if "%dm%"=="y" goto del2

if "%dm%"=="n" goto del3

这的代码是什么意思呢? 其实就是 如果 变量"%dm%=空 也就是没数据则 批处理直接跳到 del1 语句下

如果 变量 "%dm%=y 则跳转到del2 语句

如果 变量 "%dm%=n 则跳转到del3 语句

那么 我们来编辑下 利用上面的选择 写出一段代码

@echo off

:ks

set /p dm=请选择输入[y,n]:

if "%dm%"=="" goto del1

if "%dm%"=="y" goto del2

if "%dm%"=="n" goto del3

也就是让我们输入一段代码 则根据我们输入的 跳转到 指定代码段 其中 del1 del2 del3 就是这个指定代码段开始的地方

我们仔细看下上面的代码 其中 有个 就是 如果 dm 等于空时候就跳转到 del1 这是为了害怕会车太快输入了 空 所以做代码一定要想的周全点

我们继续编辑下面代码 del1

:del1

@echo 你也太笨了吧这也能输入错误!

pause

goto ks

其实 表示我们要跳转去的代码前面只要加个 ":" 就OK了 后面的del1 代码我给大家了!

那么大家是不是 试着去编写第二 第三段呢!

代码如下

:del2

del d:\*.jpg

:del3

goto end

这就是完整的 del2 del3 的语句了 全部加在一起是什么样呢?

@echo off

:ks

set /p dm=请选择输入[y,n]:

if "%dm%"=="" goto del1

if "%dm%"=="y" goto del2

if "%dm%"=="n" goto del3

:del1

@echo 你也太笨了吧这也能输入错误!

pause

goto ks

:del2

del d:\*.jpg

:del3

goto end

这段代码的意思 主要是 询问你是否删除 d:盘下 所有jpg 文件 如果需要就是选择 y 不需要选择 n

if 的语句很简单的哦

我们把上面所有语句连起来使用

第一步 查找 D 盘是不是有 jpg文件

if exist D:\*.jpg goto ks

if not exist d:\*jpg goto end

上面代码的意思是 如果D盘 有jpg 则条转到开始 没有 则关闭批处理

这样就形成了一段完整的代码 我们结合下

@echo off

if exist D:\*.jpg goto ks

if not exist d:\*jpg goto end

:ks

@echo 发现D盘有jpg文件,请问您是否选择删除,删除选"y"不删除选"n"

set /p dm=请选择输入[y,n]:

if "%dm%"=="" goto del1

if "%dm%"=="y" goto del2

if "%dm%"=="n" goto del3

:del1

@echo 你也太笨了吧这也能输入错误!

pause

goto ks

:del2

del d:\*.jpg

:del3

goto end

大家可以在D盘下放一个 jpg文件 看下 有和没有 代码运行的就不一样

是不是啊?

本章关键

1、if "参数" == "字符串"  待执行的命令

2、if exist 文件名  待执行的命令

本章讲解的是初级判断 下一章可能深入点 可能会讲到关于 for 及;另外一个 判断语的用法

谢谢大家支持!

------------------------------------------

今天算是复习!

给大家段代码 我还没完成的!!

@echo off

:KS

@echo ===========================================

@echo ‖ ‖

@echo ‖母盘开机设置程序----Powered by NoPassword‖

@echo ‖ ‖

@echo ‖ ‖

@echo ===========================================

@echo off

echo 请选择您采用的游戏菜单(支持讯闪.易速)

echo =============================================

@echo 1.讯闪游戏菜单

@echo 2.易速游戏菜单

@echo 3.其他游戏菜单

@echo 4.返回

echo =============================================

@echo off

set /p xz=请输入:

cls

:xz

if "%xz%"=="" goto sb

if "%xz%"=="1" goto xs

if "%xz%"=="2" goto ys

if "%xz%"=="3" goto qt

if "%xz%"=="4" goto ks

:sb

echo 我日!这都选错!我也真服了你了!你真牛!

:xs

echo ============================================

echo 您选择了讯闪游戏菜单:

echo 请选择讯闪调用程序目录

echo ============================================

echo 1."C:\Program Files\调用程序\"

echo 2."c:\调用程序\"

echo 3."d:\调用程序\"

echo 4."e:\调用程序\"

echo 5."f:\调用程序\"

echo 6."自己输入路径"

echo ============================================

@echo off

set /p xss=请选择:

cls

:xssz

if "%xss%"=="" goto sb

if "%xss%"=="1" goto c1

if "%xss%"=="2" goto c2

if "%xss%"=="3" goto d1

if "%xss%"=="4" goto e1

if "%xss%"=="5" goto f1

if "%xss%"=="6" goto self

:c1

xcopy \调用程序\ /s /y "%ProgramFiles%"\调用程序

cls

================================================

set path="%ProgramFiles%"\调用程序\新调用.exe

::要创建快捷方式的文件

set result="%USERPROFILE%\桌面\游戏菜单.url"

::要创建快捷方式的地方

echo [InternetShortcut] >> %result%

echo URL="%path%" >> %result%

::url一定要写

echo IconIndex=0 >> %result%

echo IconFile=%path% >> %result%

===============================================

echo 讯闪调用程序安装完毕

pause

goto s2

:c2

xcopy \调用程序 /s /y c:\调用程序

cls

echo 讯闪调用程序安装完毕

pause

goto s2

:d1

xcopy \调用程序 /s /y D:\调用程序

cls

echo 讯闪调用程序安装完毕

pause

goto s2

:e1

xcopy \调用程序 /s /y e:\调用程序

cls

echo 讯闪调用程序安装完毕

pause

goto s2

:f1

xcopy \调用程序 /s /y f:\调用程序

cls

echo 讯闪调用程序安装完毕

pause

goto s2

:self

@echo off

@echo 请输入你的讯闪路径[不可有空格以":"或"\"结尾]

set /p selff=请输入:

md "%selff%"\调用程序\

copy 调用程序\*.* /y "%selff%"\调用程序\

cls

pause

---DEL参数--------------------------------

DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

names 指定一个或数个文件或目录列表。通配符可被用来

删除多个文件。如果指定了一个目录,目录中的所

有文件都会被删除。

/P 删除每一个文件之前提示确认。

/F 强制删除只读文件。

/S 从所有子目录删除指定文件。 +++

/Q 安静模式。删除全局通配符时,不要求确认。 +++

/A 根据属性选择要删除的文件。

attributes R 只读文件 S 系统文件

H 隐藏文件 A 存档文件

- 表示“否”的前缀

如果命令扩展名被启用,DEL 和 ERASE 会如下改变:

/S 开关的显示句法会颠倒,即只显示已经

删除的文件,而不显示找不到的文件。

------批处理网站---------------------------------

http://bbs.verybat.org/

袋友评论:

1.

回复访客61.160.111.*

好贴

2008-07-18 22:27:38

我要评论

开心 伤心 惊讶 酷 感动 无聊 鲜花 顶 汗 愤怒 赞 呕吐 无语 色 害羞 调皮 砸 尴尬 疑问 心碎 炸弹 关注 财富 可爱

匿名发表 登陆 | 注册

 请大伙在灌溉口袋时,注意语言文明,爱护口袋,支持口袋的主人

返回顶部

Copyright ©2008 Qihoo.com All Rights Reserved 版权所有·奇虎网 意见反馈 | 收藏口袋 | 免责声明 | 口袋帮助