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

Batch file to write filenames from a directory into a text file with specific format

想要编写一个批处理文件,从目录中读取文件名并将它们放入同一目录中的文本文件中。扭曲的是文件名应该有下面解释的特定格式: 原文件名有:ThisThat.shp、HellNono.shp、LifeGood.shp.....等等。 所以批处理文件应该抓取 ThisThat、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

这个脚本只是抓取文件名,我不知道如何以解释的格式存储它above.Any帮助将不胜感激。谢谢

您就快完成了,因为 %%~nj 将根据您的需要输出文件名。你只需要输出两次就可以得到你想要的格式:

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

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

完成的