使用批处理文件在单个文件中写入多行

时间:2013-09-07 08:20:49

标签: windows batch-file

我正处于批处理文件编程的中间,我陷入了下面的脚本中。

( 
IF EXIST h:\*.png del h:*.png 
IF EXIST h:\*.mov del h:*.mov 
) > file.txt

我的意图是脚本首先在给定的驱动器中找到png和mov格式(在本例中为h),然后如果存在则删除它。我想将所有进程写入txt文件(file.txt)。

由于这是一个简单的问题,我真的不想在主SE中询问。我先在聊天中试过(你好世界室)。但我没有得到任何有用的重播。

感谢您的帮助

2 个答案:

答案 0 :(得分:4)

你可以试试这个:

@echo off &SETLOCAL
(
IF EXIST h:\*.png (
    DIR /b h:\*.png
    del h:\*.png
)
IF EXIST h:\*.mov (
    DIR /b h:\*.mov
    del h:\*.mov
)) > file.txt
TYPE file.txt

答案 1 :(得分:3)

不需要IF。一个简单的衬垫就可以了,而且很容易添加额外的扩展:

>file.txt (for %%X in (png mov) do 2>nul dir /b h:*.%%X && del h:*.%%X) 

修改

拍摄,它可以更简单:

>file.txt dir /b h:*.png h:*.mov && del h:*.png h:*.mov

或者,如果您只想指定一次列表:

set "list=h:*.png h:*.mov"
>file.txt dir /b %list% && del %list%