1、cd.>a.txt
cd.表示改变当前目录为当前目录,即等于没改变;而且此命令不会有输出。
>表示把命令输出写入到文件。后面跟着a.txt,就表示写入到a.txt。
而此例中命令不会有输出,所以就创建了没有内容的空文件。
2、copy nul a.txt
nul表示空设备,从概念上讲,它不可见,存在于每个目录中,可以把它看成一个特殊的“文件”,它没有内容;一般可把输出写入到nul,来达到屏蔽输出的目的,如pause>nul,此命令执行效果是暂停,并且不会显示“请按任意键继续. . .”。
此例子表示将空设备复制到a.txt,同样创建了迅孝塌没有内容的空文件。
3、type nul>a.txt
此例子表示显示空设备的内容,并写入到a.txt。
4、echo a 2>a.txt
“2”表示错误输出的句柄,此例中没有错误输出,所以创建了没有内容的空文件。
其实>默认都是重定向了句柄1,即标准输出句柄。比如cd.>a.txt,其实就是cd. 1>a.txt。
同样,慎迅句柄3到9也可以使用在本例中,它们是未经定义的句柄,也不会有输出,如
echo a 3>a.txt。
5、fsutil file createnew d:\a.txt 0
使用fsutil创建了一个空文件。
6、其他命令
只要没有输出,并重定向到文件就可以了
二、建立非空文件的几种方法
1、echo a>a.txt
最常用的是echo命令,此例子表示把字母a和回车换行覆盖输出到a.txt(如果a.txt原来已有内容则覆盖掉原来的内容),如果追加内容,可以使用>>,如echo b>>a.txt,表示把b和回车换行追加到文件末尾。
2、其他命令的重定向输出,如
type a.txt >b.txt
copy a.txt b.txt
fsutil file createnew d:\亩圆a.txt 1
@echo off &title 根据列表删除文件 By 依梦琴瑶::设置列表文件
set List=list.txt
for /f "delims=" %%a in ('type "%List%"') do (
if exist "%%~a" del /f /q "%%~a"
)
pause
代码保存为bat文档,和list.txt以及待处理的文件一起后执行。
@echo off&setlocal enabledelayedexpansionfor /f 纳饥"tokens=1* delims=" %%a in ('findstr /n a.txt') do (
if %%a equ 1 (
set /p "洞迟返s=请输入文字:"
if not "%%b"=="!s!" echo !s! >b.txt&goto :end
)
echo.%%b
)
:end
pause
读取a.txt,提示旦磨输入一段字符,判断与a.txt首行是否相等,不等则将输入的文字保存在b.txt中
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)