如何使用批处理文件在部分已知的文件夹名称中创建文件

时间:2014-04-26 06:03:20

标签: shell batch-file command

我想在特定目录dblank中创建一个0字节文件名C:\Users\myUser\*.data\

echo. 2>"C:\Users\myUser\*.data\dblank.txt"

上述命令中的*符号表示任何字母或数字。我不知道。如何在批次代码中引用任何字母或数字?

2 个答案:

答案 0 :(得分:2)

也许这个:

setlocal enableextensions
for /D %%i in (C:\Users\myUsers\*.data) do copy nul "%%~i\dblank.txt"
endlocal

如果已启用命令扩展(cmd /E:on),则可以省略setlocal / endlocal。 这适用于每个现有的*.data文件夹(如果有)。

答案 1 :(得分:1)

@echo off
for /f "delims=" %%f in ('dir /b /s /ad C:\Users\myUser\*.data') do echo. 2>"%%f\dblank.txt"

修改 过滤结果:

@echo off
for /f "delims=" %%f in ('dir /b /s /ad C:\Users\myUser\*.data^|findstr /r "\\[0-9a-zA-Z]*\.data$"') do (
  echo. 2>"%%f\dblank.txt"
)