批处理命令,用文件夹中的文件名创建空txt文件

时间:2010-08-03 20:21:02

标签: batch-file

我有一个文件夹,例如: 001zzzqqq。* 002bbbccc。* 003nnnfff。* ...

并且想要创建一个以每个文件命名的空白文本文件,例如: 001zzzqqq.txt 002bbbccc.txt 003nnnfff.txt ...

在批处理文件中快速解决这个问题?我的想法似乎已经空白了。

由于

2 个答案:

答案 0 :(得分:7)

迭代文件夹中的文件:

for %x in (*) do ...

创建空文件:

type NUL > %~nx.txt

%~nx计算文件名而不包含循环变量%x的扩展名。所以,合并:

for %x in (*) do type NUL > %~nx.txt

你也可以使用copy NUL %~nx.txt,但是如果文本文件已经存在,则输出1 file(s) copied并抛出错误;这是更沉默的变体(或使用copy /Y NUL %~nx.txt >NUL 2>&1)。

在批处理文件中,您需要将%加倍,但您不需要仅用于此单行的批处理文件(除非它是较大程序的一部分):

for %%x in (*) do type NUL > %%~nx.txt

答案 1 :(得分:0)

@echo off
for /f %%a in ('dir /B') do (
  wuauclt > %%~na.txt
)