DOS 2问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:56:28
1、holle>abc.txt为什么不能写入abc.txt?

2、IF EXIST "C:\123\*.*" (echo 有文件)这个方法可以判断123文件夹是否有文件吗?

1.
>是重定向,将前面命令执行的结果输入到文本类文件当中,holle不是个命令没有执行结果信息,所以输入到abc.txt是空的内容。
如果是要把holle这串字符输入到abc.txt,应该:echo holle>abc.txt
你如果这样写:holle 2>abc.txt 就会看到abc.txt内显示的错误信息了,
>输出命令执行结果信息,2>nul输出命令执行错误信息。

2.
IF EXIST "C:\123\*.*" 这个不能判断文件存在的
首先你的冒号正确格式应该为英文半角
另外*是通配符,可以代表任何字符,也可以代表“.”,比如这样:if exist "c:\123\..."这就是判断文件夹是否存在了,所以123下即使没文件判断也是成立的。
楼上写法不错。如果为"dir/a-d/b"就最好了,因为如果123下只有空目录存在的话也会显示有文件。

1、正确写法是 echo holle>abc.txt

2、正确写法是
dir /a /b "c:\123"|findstr .>nul 2>nul && echo 有文件 || echo 没有文件