Batch file 在windows文件夹中自动创建新文件

Batch file 在windows文件夹中自动创建新文件,batch-file,cmd,Batch File,Cmd,我正在尝试编写一个批处理脚本,该脚本将检查是否有任何扩展名为.dll的文件,如果文件存在,则它将创建具有相同名称但扩展名为.txt的新文件 假设我的文件夹中有test_12345.dll文件,那么我的脚本应该检查这个文件是否存在,并创建一个空文件test_12345.txt(与.dll文件的名称基本相同,但扩展名不同) 一些专家可以帮助我创建这个批脚本 问候 Sushant这是bash脚本:您可以在bash环境中尝试这一点 #!/bin/bash dirname=$1 ext=$2 [ $# -

我正在尝试编写一个批处理脚本,该脚本将检查是否有任何扩展名为.dll的文件,如果文件存在,则它将创建具有相同名称但扩展名为.txt的新文件

假设我的文件夹中有test_12345.dll文件,那么我的脚本应该检查这个文件是否存在,并创建一个空文件test_12345.txt(与.dll文件的名称基本相同,但扩展名不同)

一些专家可以帮助我创建这个批脚本

问候
Sushant

这是
bash
脚本:您可以在bash环境中尝试这一点

#!/bin/bash
dirname=$1
ext=$2
[ $# -eq 0 ] && { echo "Usage: $0 <path> <ext>" ex: $0 /tmp/ dll ; exit 1; }
find $dirname -type f -name "*.${ext}" | while read fname
do
name=$(dirname $fname)/$(basename $fname .${ext})
txtFile=$name.txt
if [ ! -e "$txtFile" ] ; then
    touch "$txtFile"
fi
done
#/bin/bash
dirname=$1
分机=$2
[$#-eq 0]&&{echo“用法:$0”ex:$0/tmp/dll;退出1;}
在读取fname时查找$dirname-type f-name“*.${ext}”|
做
name=$(dirname$fname)/$(basename$fname.${ext})
txtFile=$name.txt
如果[!-e“$txtFile”];然后
触摸“$txtFile”
fi
完成

这是一个windows bat脚本,用于执行您需要的操作。 扫描当前目录中的所有DLL,然后将扩展名更改为
.txt
,并创建一个(几乎)空文件。完整批处理本机,不使用外部工具

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION

for %%b in (*.dll) do (
set v=%%b
set u=!v:.dll=.txt!
echo. >!u!
)

假设您正在寻找解决方案,这就是您想要的:

for %%F in ("\path\to\folder\*.dll") do (
    > "%%~dpnF.txt" break
)

for
循环枚举给定位置
\path\to\folder\
中的所有
.dll
文件(如果要处理当前工作目录,请删除该部分)
%%~dpnF
扩展为当前迭代项的驱动器、路径和基名称(不带扩展名
.dll
)。
break
命令在现代Windows系统中不起任何作用(它只是为了向后兼容MS-DOS),并且不产生任何输出,因此我使用它来创建空的
.txt
文件<代码>回音。返回换行符(因此文件不是空的);此外,在某些情况下,
语法甚至可能导致意外行为(语法
echo(
看起来很奇怪,但它是安全的)。

存在!=退出
;-)祝你好运。
bash
批处理
是两件不同的事情。