Board logo

标题: [请版主回答] 这一行命令怎么创建了一个空文件?  [打印本页]

作者: lucifer     时间: 2003-6-30 00:00    标题: [请版主回答] 这一行命令怎么创建了一个空文件? 

set d="echo a.txt > b.txt" & copy %d% > 1.txt & type 1.txt | find /i "echo" > b.txt

还有这一个,和上面的效果一样
prompt echo$Sb.txt$S$Gc.txt& echo z|cmd|findstr /e "t">b.txt













[此贴子已经被作者于2003-7-1 15:21:30编辑过]



作者: ko20010214     时间: 2003-7-4 00:00
这里牵涉到  DOS环境下变量的设置(set命令),管道符命令(>和|  命令)的知识 。
下面那个牵涉到  DOS下的显示命令(echo命令),提示符命令(prompt命令),新的DOS环境命令(cmd命令,而且这是win2000下的command命令)。查找字符串命令(findstr命令,应该是个外部命令吧?) 的知识。
请分别去看这些命令的用法(包括一些特殊用法)。理解了之后再来想想这个复杂的复合命令吧。
作者: dv人     时间: 2003-7-9 00:00
findstr ???????????应该市find命令吧格式:find "string" /?
作者: ko20010214     时间: 2003-7-9 00:00


  Quote:
以下是引用dv人在2003-7-9 1:38:48的发言:
findstr ???????????应该市find命令吧格式:find "string" /?

也许吧。可能是你说得对。我也不知道楼主讲的东东。我是瞎猜的。呵呵。。。
作者: Roy     时间: 2003-7-9 00:00


  Quote:
以下是引用dv人在2003-7-9 1:38:48的发言:
findstr ???????????应该市find命令吧格式:find "string" /?

不是吧.........findstr是Win2000/XP的指令呢........
作者: dv人     时间: 2003-7-9 00:00
是我记错了,,,有find和findstr,,,还是findstr用途更广,,,献丑了


-----------使用文字文本或常规表达式搜索文件中的字符串。单击“相关主题”列表中的“Devinfo 说明”以获得 findstr 接受的常规表达式符号列表。

findstr [/e] [/l] [/c:string] [/r] [/s] [/x] [/v] [/n] [/m] [/o] [/g:file] [/f:file] [/d:dirlist] [/a:color attribute] [strings] [[drive:][path] filename [...]]

参数

/b

如果位于行的开头则匹配模式。

/e

如果位于行的末尾则匹配模式。

/l

使用文字搜索字符串。

/c: string

使用指定的文本作为文字搜索字符串。

/r

使用搜索串作为常规表达式。不需要该开关,除非使用 /l 开关,否则 findstr 将所有的元字符当作常规表达式解释。

/s

在当前目录和所有子目录中搜索匹配的文件。

/i

指定搜索不区分大小写。

/x

打印完全匹配的行。

/v

只打印不包含匹配的行。

/n

在每个匹配的行之前打印行号。

/m

如果文件包含匹配项,仅打印该文件名。

/o

在每次匹配行之前打印查找偏移量。

/g filename

从指定文件得到搜索字符串。

/f file

从指定文件中读取文件列表。

/d dirlist

搜索以逗号分隔的目录列表。


作者: buddiyar     时间: 2006-7-16 13:38
set d="echo a.txt > b.txt"
此时b.txt的内容为 a.txt

& copy %d% > 1.txt
copy %d% 为1.txt

& type 1.txt | find /i "echo" > b.txt
在1.txt中查找echo字符串 有则写如b.txt
无则为空

不过注意 此处用的是>
那么不论有1.txt里含有多少个echo
b.txt的内容也只会是一个echo而已

还有这一个,和上面的效果一样
prompt echo$Sb.txt$S$Gc.txt& echo z|cmd|findstr /e "t">b.txt
作者: IceCrack     时间: 2006-7-16 19:49
set d="echo a.txt>b.txt"
echo %d%>1.txt
type 1.txt | find /i "echo">b.txt

为什么有一个&和没有一个&差别这么大呢?   &不就起一个连接作用嘛.我感觉这个应该和楼主的效果一样的.但是实际上效果大不相同