Board logo

标题: 可构造0字节文本文件的几条命令 [打印本页]

作者: namejm     时间: 2006-8-5 11:19    标题: 可构造0字节文本文件的几条命令

  头两天看到willsort版主用cd.>test.txt来构造0字节文本文件,和以往的copy nul>test.txt的用法大不一样,感觉很是有趣,后来琢磨了一下,觉得只要是执行后没有输出显示的命令应该都可以用来构造0字节文本文件,于是立马行动,把XP下的命令都拉出来溜达了一圈,再加上和bagpipe讨论了一下,整理出了以下几条可以用来构造0字节文本文件的命令:
可以构造0字节文本文件的命令(在下列命令后直接加>test.txt):
break
call
cd.
cd..   会退到上一级目录
copy nul
doskey
endlocal
exit   会退出CMD窗口
goto   批处理中会退出CMD窗
pushd %cd%
popd
rem.  (以点号开头的任意非敏感字符都可以)
shift
title 可跟任意非敏感字符
[ Last edited by namejm on 2006-8-5 at 12:43 ]
作者: zh159     时间: 2006-8-5 14:16
还是“cd.”最简单
作者: electronixtar     时间: 2006-8-5 14:38
还有一个,可以构建任意大小的内容全部为 0x00 的文件

  Quote:
用法 : fsutil file createnew <文件名> <长度>
例如 : fsutil file createnew C:\testfile.txt 1000


作者: zh159     时间: 2006-8-5 15:15
有没有直接将16进制字符直接写入二进制文件的命令(命令 12376ABCDEF 文件)???^_^
作者: willsort     时间: 2006-8-6 03:31
Re zxcv:

      兄的问题偏题了;而且既然兄曾发起和参与[1][2]的讨论,那么应该对这一问题有比较明晰的认识了,在此再次提出却没有提供更多的背景信息,这是不恰当的。

      有鉴于此,特扣除4点积分,请下次注意,如对处理有任何异议,请回复提出。

[1]16进制字符文本/二进制文件迷你互转器
http://www.cn-dos.net/forum/viewthread.php?tid=21955

[2] [求助]DOS下如何将TXT的16进制数据转成BIN?(已解决)
http://www.cn-dos.net/forum/viewthread.php?tid=21924

[ Last edited by willsort on 2006-8-6 at 03:32 ]
作者: wcysyhy     时间: 2006-8-6 16:06
很多的.小时候经常玩,现在都望了,
这个 :            >***.txt  echo on
作者: zts59     时间: 2006-8-11 13:43
prompt $p$g>aa.txt
作者: IceCrack     时间: 2006-8-11 16:40
哎   这么多啊!  我就记得一个copy nul>test.txt就行了. 记这么多麻烦
作者: xjmxjm1234     时间: 2006-8-11 21:04
补充个:
type nul > test.txt
copy nul test.txt
作者: 3742668     时间: 2006-8-12 12:40


  Quote:
Originally posted by IceCrack at 2006-8-11 16:40:
哎   这么多啊!  我就记得一个copy nul>test.txt就行了. 记这么多麻烦

用法再多都是死的,只有思想活了,脚本才活了:
dir 2>test.txt
arp >text.txt
这样也行 3>test.txt
Well,没有什么不可以。同样的道理:
@echo off
:start
    set /p strCMD=%cd%^>
    1%strCMD%
goto start
在这个命令提示符中,又有什么命令是可以的呢?
作者: namejm     时间: 2006-8-12 12:59
  "用法再多都是死的,只有思想活了,脚本才活了",3742668版主说得好,构造0字节文本文件的基本思想是:只要重定向没有输出内容就可以,dir 2>test.txt这个语句就很好地体现了这个思想。

  不过,3>test.txt这条语句在我的XP下并不能创建文件,提示是命令语法不正确,应该是"特定命令 3>test.txt"格式吧?
作者: 3742668     时间: 2006-8-12 13:13


  Quote:
Originally posted by namejm at 2006-8-12 12:59:
  "用法再多都是死的,只有思想活了,脚本才活了",3742668版主说得好,构造0字节文本文件的基本思想是:只要重定向没有输出内容就可以..

NO,NO,NO,我这里测试一切正常,不仅仅是3>nul,其他句柄都可。
fjsdkl 4>test.txt
创建0字节文件 5>test.txt
不要被错误提示所蒙蔽,本文的重点终于是否产生了 0字节文件,至于错误提示完全可以用 2>nul 去屏蔽。
作者: namejm     时间: 2006-8-12 15:13
  呵呵,我是直接输入"3>test.txt"的,难怪创建不了,原来是可以用"任意内容+2以上10以下的数字+>test.txt“的格式来弄。
作者: luoxinxin1988     时间: 2006-8-12 17:27
太多了看不过来了
作者: iaide007     时间: 2006-9-10 16:59
我常的是echo. >1.txt
作者: namejm     时间: 2006-9-10 18:59


  Quote:
Originally posted by iaide007 at 2006-9-10 16:59:
我常的是echo. >1.txt

  虽然这样生成的文本里看不到内容,但是它是含有一个回车符号的,文本的大小不为0。
作者: redtek     时间: 2007-2-8 07:24
欣赏~~~
作者: anqing     时间: 2007-2-8 08:10
又学到知识了
作者: kernelv     时间: 2007-2-8 15:46
经常用的还是 echo 2>1.txt
作者: PPdos     时间: 2007-2-8 17:23
经常用的是 hello>1.txt
作者: jmz573515     时间: 2007-2-15 08:23
值得学习。
作者: lp1129     时间: 2007-3-28 04:18
总结发言:

我看什么都可以创建0字节文本文件,只要忽略错误返回即可

格式:

任意字符 >1.txt

如:

3 >1.txt

注意字符后要有空格,除少数符号如  , :;@等不可用,其它字母、数字、符号都可以创建成功。

如果在意错误提示可用如下格式:

3 >1.txt 2>nul
作者: wydos     时间: 2007-3-28 08:16
真是丰富多彩呀!!
作者: zyy2007     时间: 2007-3-28 08:29
我的方法
@echo off&setlocal enabledelayedexpansion
set/p=<nul>1.text
作者: xycoordinate     时间: 2007-3-28 08:52


  Quote:
F:\>pushd /?
保存当前目录以供 POPD 命令使用,然后改到指定的目录。

PUSHD [path | ..]

  path        指定要成为当前目录的目录。

如果命令扩展名被启用,除了一般驱动器号和路径,PUSHD
命令还接受网络路径。如果指定了网络路径,PUSHD 将创建一个
指向指定网络资源的临时驱动器号,然后再用刚定义的驱动器
号改变当前的驱动器和目录。可以从 Z: 往下分配临时驱动器
号,使用找到的第一个没有用过的驱动器号。

F:\>popd /?
命令选项到保存在 PUSHD 命令里的目录。

POPD


如果命令扩展名被启用,从推目录堆栈 POPD 驱动器时,POPD
命令会删除 PUSHD 创建的临时驱动器号。

看不懂!!!
作者: ZJHJ     时间: 2007-3-29 10:14
不过,以上创建0字节文本文件好象都是ANSI编码的.

如果要创建0字节文本文件编码是 Unicode 的 用批处理能办到吗?
作者: lyflpf     时间: 2007-3-30 08:10
乱输个错误的命令或字母,再在后面加>文件名就可以了
作者: Eblis     时间: 2007-3-30 09:30
请问..0字节文件有什么用呢?
作者: tclgb     时间: 2007-7-8 16:17
原来有这么多种方法,呵呵
昨天还辛苦的用了一个fsutil file createnew text.txt 0
创建N慢
学习ING
作者: riversail     时间: 2008-1-9 23:20
我常用]
@echo off
:start
    set /p strCMD=%cd%^>
    1%strCMD%
goto start
作者: zh159     时间: 2008-1-9 23:25


  Quote:
Originally posted by ZJHJ at 2007-3-29 10:14:
不过,以上创建0字节文本文件好象都是ANSI编码的.

如果要创建0字节文本文件编码是 Unicode 的 用批处理能办到吗?

Unicode 编码的文本文件不可能为0字节,因为 Unicode 编码需要两个字节(FF FE)作为识别码
作者: kgdetg1127     时间: 2008-1-25 23:12
学习了,顶起。。。。
作者: kgdetg1127     时间: 2008-1-26 21:48
copy nul >test.txt 不是0字节的
作者: kgdetg1127     时间: 2008-1-26 21:49
echo. >1.txt
也不是0字节的。
作者: VAF     时间: 2008-1-27 03:55
最后不就是要一个0字节的文件吗, 会用一种就行了.
作者: hlyw     时间: 2008-10-7 15:02
怯怯的看完了,只是不知道这样能在什么地方有用。
作者: 523066680     时间: 2008-10-7 17:28
嘿嘿,有时候为了测试而建立的文件 又不想浪费空间拉 就可以用上
还有 ……还有……   零字节文件可以用来做对比
比如a文件夹里面有  a b c……等100个文件
我就可以在b文件夹里建立 a b c 等同名的空文件
等别人来接触电脑以后  我就可以通过for 结合if 对比判断 有没有文件被删除
有没有文件是新生的。

当然 以上是我临时想的一个很……的用途
作者: qinchun36     时间: 2008-10-30 23:45


  Quote:
Originally posted by kgdetg1127 at 2008-1-26 09:48 PM:
copy nul >test.txt 不是0字节的

可是    copy nul test.txt   是 。。。
作者: netbenton     时间: 2009-1-5 03:26
还这个经典:
>test.txt cd.
无声无息的建个空文件,最简单!