Google [站内搜索]

预览模式: 普通 | 列表

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

"重定向"是自MSDOS起就被支持的命令行特性,负责将指定命令或语句所产生的输入输出请求由缺省的"控制台"转交给其它的"设备"来完成,它的启动标志是"重定向符号"出现在句中。

一般的命令行程序输入输出请求都通过内部定义三个"端口"(在NT下称为"句柄",在DOS下未定义)来完成,分别为标准输入stdin、标准输出stdout、标准错误stderr。它们通常指向的设备为控制台(console,代码为CON),其中stdin指向控制台的键盘,stdout/stderr指向控制台的监视器。因此,控制台通常即指键盘与监视器的联合体,这是在早期大型机的终端机上所体现出来的概念。其中的stdin可被<重定向,stdout可被>、>>重定向,而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$等。

查看更多...

分类:操作系统 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 7571

defined的用法

语法:if (not) defined 变量名称 执行命令
说明:有变量就执行命令,无变量就不执行命令。注意此处变量名称不用%%引用!
实例:
@echo off
set input=

查看更多...

分类:操作系统 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4023
@echo off
set "var=333ps555psssword=123 456 789"
for /f "tokens=1* delims=psssword" %%i in ("%var%") do set str=%%i&set num=%%j
echo %str%   %num%
pause

查看更多...

分类:操作系统 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4844

启用变量延迟的得失

在代码中,使用 setlocal enabledelayedexpansion 语句来启用变量延迟之后,有得有失:

优点

1、可以在同一语句内部直接使用上一次改变后的变量;

查看更多...

分类:操作系统 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3873

批处理中注释表达形式

批处理的段注释有一种比较常用的方法:

goto start
  = 可以是多行文本,
  = 可以包含重定向符号和其他特殊字符

查看更多...

分类:操作系统 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 9407

delims=和tokens=*的差别

test.txt 的内容为:
引用内容 引用内容
    abc(行首有若干空格)

比较以下两段代码的执行结果差异:

@echo off

查看更多...

分类:操作系统 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4140

CMD/DOS下符号的作用参考

一、单符号

~
① 在for中表示使用增强的变量扩展。
② 在%var:~n,m%中表示使用扩展环境变量指定位置的字符串。

查看更多...

分类:操作系统 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3369

使用控制台WinRAR压缩文件

在安装 WinRAR 后你会发现,在相同目录中有个文件 rar.exe 。它也是 32 位 RAR 的 Windows 版本,但它只支持命令行,纯文本模式的界面。常规的命令行语法描述如下:

引用内容 引用内容
WinRAR <命令> -<开关1> -<开关N> <压缩文件 > <文件...> <@列表文件...> <解压路径\>


详细的命令和开关资料可参见 WinRAR 帮助文档中"命令行模式"一节。下边我们来看看怎么用命令行实现常规压缩:

查看更多...

分类:操作系统 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4819

使用批处理复制文件并写入日志

公司服务器上资源存放规则为resid/uid/resid_allfile.rar,其中resid为资源编号,uid为用户编号,同一个resid文件夹存在多个不同uid的子文件夹,但rar的命名都是一样的,例如:1/1009/1_allfile.rar、1/1010/1_allfile.rar、1/1011/1_allfile.rar,现在要求将某一用户的所有资源全部复制出来打包,由于resid非常多,手工效率可想而知,便写了个批处理来解决问题:

@echo off

rem xcopy.bat

查看更多...

分类:操作系统 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 6508

Dos中的变量

1. 环境变量

set a=1
set /a a=%a%+10
echo %a%

查看更多...

分类:操作系统 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4470