木子屋 Dnawo's BLOG

2008-04 归档

共 60 篇

批处理操作注册表

1. 添加项/值 语法:REG Add KeyName KeyName 项路径,如HKLM\Software\MyCo,几大根键简写HKLM、HKCU、HKCR、HKU、HKCC /v ValueName 所选项之下要添加的值名。 /ve 为注册表项添加空白值名(默认) /t Type 值的数据类型,几大类型有REG_SZ、REG_MULTI_SZ、REG_EXPAND_SZ、REG_DWORD、REG_BINARY、REG_NONE /s Separator  指定一个在 REG_MULTI_SZ 数据字符串中用作分隔符的字符。如果忽略,则将 "\0" 用作分隔符。 /d Data 要分配给添加的注册表 ValueName 的数据。…

WinZip命令行

在WinZip安装包中没有包含命令行工具,但在其官方站点上有单独提供下载,所以如需要WinZip命令行工具就得去官方站点下载并单独安装,需要注意的是安装WinZip命令行工具前确保机子上已经安装有适当版本的WinZip(不同版本的命令行工具所支持的WinZip版本不一样),下边是下载地址: WinZip V10.0 下载:http://download.it168.com/02/1810/13636/13636_3.shtml 命令行工具V2.2下载:http://www.winzip.com/downcl.htm 安装完命令行工具在WinZip安装文件夹中你会看到WZZIP.EXE和WZUNZIP.EXE,分别用于压缩和解压,下边我们来说说他的语法。…

批处理小技巧汇总

1.在CMD窗口中显示一个空行:echo. 2.内容输出到文件时不多出一空行:set /p var=aaaa1.txt 3.一次声明多个变量:set /a a=2,b=4,c=6,d=8 4.不显示执行结果:dir>nul、pause>nul

什么是延迟环境变量扩充

我们先来看个例子: 执行结果为: 不是我们预期的: 什么原因呢?因为在读到if/for语句时,if/for主体中的所有环境变量都先被扩充了(替换成他的值),这就可以解释执行的结果了,那怎么才能得到我们预期的结果呢?延迟环境变量扩充即可: 注意:启用延迟环境变量扩充后,引用需要延迟扩充的环境变量不再是在名称两边加%,而是用!。

简单设置实现Windows2003开机自动拨号

1.双击拨号连接图标打开拨号登录界面,点击"属性"按钮: 2.在属性窗口中切换到"选项"选项卡,去掉"提示名称、密码和证书等"前的钩: 3.上边两步已实现了自动拨号,要开机自动拨号只需将拨号连接快捷方式放到"开始→所有程序→启动"下即可!

批处理中字符串的截取和替换

先看一个例子: 1.字符串截取 语法:%var:~x,y% (x,y∈Z) 说明:当x为正数时表示从左到右第x+1位开始截取,当x为负数时表示从右到左第x位开始截取(右一位是-1),当省略x时采用默认值0;当y为正数时表示截取的长度,当y为负数时表示截取到从右到左的第y+1位,当省略y时采用默认值-1。 2.字符串替换 语法:%var:str1=str2% 说明:将字符串var中所有的str1替换为str2。

for命令小结

1.FOR %variable IN (set) DO command 说明:当括号中的内容为路径时可列出该路径下所有文件路径(不含子文件夹中的文件),否则当作集合处理循环列出各项值。 示例:for %%i in (C:\WINDOWS\Help\*) do echo %%i for %%i in (www,mzwu,com) do echo %%i for %%i in (1,1,10) do echo %%i 2. FOR /D %variable IN (set) DO command 说明:此命令可以列出指定位置下的所有文件夹(不含子文件夹)路径,支持通配符。 示例:for /d %%i in (C:\WINDOWS\Help\*) do echo %%i…

goto :eof让标签变得如此美丽

执行结果: 早上好! 中午好! 晚上好! 该睡觉了! 中午好! 晚上好! 这边标签仅仅是作为位置标识而已!将上边例子稍做修改: 执行结果: 早上好! 中午好! 晚上好! 该睡觉了! 很明显,因为有了goto :eof,使用我们容易控制标签的开始和结束位置,因为可以控制开始和结束位置,让批处理有了类似子过程的机制,而这一切,都是因为有了goto :eof,因为goto :eof让标签变得如此美丽! 附:call在调用跳转至标签时是可以带参数的

call和goto的异同点

结果为: 早上好! 中午好! 晚上好! 结果为: 早上好! 中午好! 晚上好! 该睡觉了! 中午好! 晚上好! 从上边两个例子我们已经可以很明白的看出call和goto的异同点了: 相同点:call和goto都可以将流程跳转到标签处。 不同点:goto将流程跳转到标签处后,程序从标签处开始执行到结束,整个流程执行完毕;call将流程跳转到标签处后,程序从标签处开始执行到结束,然后会跳转回执行call的下一条语句,直到整个流程执行完毕;所以call并不会像goto那样打乱了流程,它只是中断了当前流程,但仍保证整个流程按原顺序进行。 在第二个例子中我们可以在标签后适当的地方调用goto :eof,使流程提前结束,提前将流程转移call的下一条语句:…

有关批处理中>nul的一些说明

"重定向"是自MSDOS起就被支持的命令行特性,负责将指定命令或语句所产生的输入输出请求由缺省的"控制台"转交给其它的"设备"来完成,它的启动标志是"重定向符号"出现在句中。 一般的命令行程序输入输出请求都通过内部定义三个"端口"(在NT下称为"句柄",在DOS下未定义)来完成,分别为标准输入stdin、标准输出stdout、标准错误stderr。它们通常指向的设备为控制台(console,代码为CON),其中stdin指向控制台的键盘,stdout/stderr指向控制台的监视器。因此,控制台通常即指键盘与监视器的联合体,这是在早期大型机的终端机上所体现出来的概念。其中的stdin可被、>>重定向,而stderr在DOS下不可直接重定向,只有通过ctty或其它命令将系统控制权转交给其它设备的方式,来间接完成。 "设备"是指可控制PC硬件或端口的设备驱动程序或端口代码,它通常由系统底层或硬件驱动程序实现和支持。比如IO.SYS实现的控制台CON、系统时钟CLOCK$、未知设备CONFIG$、第一串口AUX、第一并口PRN、所有串口COM1~COM4、所有并口LPT1~LPT3、可用盘符A:-X:以及上文提到的空设备NUL。还有许多其它设备,比如HIMEM.SYS实现的XMSXXXX0,EMM386.EXE实现的EMMXXXX0,IFSHLP.SYS实现的IFS$HLP$等。…