Batch file 批处理文件将目录中的文件名写入具有特定格式的文本文件

Batch file 批处理文件将目录中的文件名写入具有特定格式的文本文件,batch-file,Batch File,希望编写一个批处理文件,从目录中读取文件名,并将其放入同一目录中的文本文件中。Twist是指文件名应具有以下说明的特定格式: 原始文件名是:thisset.shp、HellNono.shp、LifeGood.shp。。。。等等 因此批处理文件应该抓取this,HellNono,LifeGood并将其放入如下文本文件中: ThisThat|ThisThat HellNono|HellNono LifeGood|LifeGood 文件名应该用分隔符分隔,每个文件名在不同的行中 这就是我想到的 cd

希望编写一个批处理文件,从目录中读取文件名,并将其放入同一目录中的文本文件中。Twist是指文件名应具有以下说明的特定格式: 原始文件名是:thisset.shp、HellNono.shp、LifeGood.shp。。。。等等 因此批处理文件应该抓取this,HellNono,LifeGood并将其放入如下文本文件中:

ThisThat|ThisThat
HellNono|HellNono
LifeGood|LifeGood
文件名应该用分隔符分隔,每个文件名在不同的行中

这就是我想到的

cd %1
if exist 8characters.txt del 8characters.txt
for /F "delims=" %%j in ('dir /A-D /B /O') do echo %%~nj >> 8characters.txt

这个脚本只是获取文件名,我不知道如何以上面解释的格式存储它。任何帮助都将不胜感激。谢谢

您就快到了,
%%~nj
将根据您的需要输出文件名。您只需输出两次即可获得所需的格式:

for /F "delims=" %%j in ('dir /A-D /B /O') do echo %%~nj^|%%~nj>> 8characters.txt

注意
|
前面的
^
字符。
|
用于将输出传输到另一个命令,因此需要对其进行转义,这是使用
^

完成的。谢谢。这就像魔术一样。非常感谢!!