将目录中的文件名写入具有特定格式的文本文件的批处理文件
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
注意 |
前面的 ^
字符。 |
用于将输出通过管道传输到另一个命令,因此需要对其进行转义,这是使用 ^|
完成的
想要编写一个批处理文件,从目录中读取文件名并将它们放入同一目录中的文本文件中。扭曲的是文件名应该有下面解释的特定格式: 原文件名有: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
注意 |
前面的 ^
字符。 |
用于将输出通过管道传输到另一个命令,因此需要对其进行转义,这是使用 ^|