Batch file 将批处理文件输出调整为文本文件

Batch file 将批处理文件输出调整为文本文件,batch-file,Batch File,所以我会在这里解释一下 我需要创建一个CSV文件,但是一个接一个地设置文件名是一件痛苦的事情,所以我考虑创建一个bat文件 这是我发现的,或者说是我复制并应用的 在批处理文件中,我得到了以下代码: dir /b > myFiles.txt 它在文本文件中给出了以下结果: 59019694038.jpg 59019694038_1.jpg 59019694038_2.jpg 59019694038_3.jpg 59019694038_4.jpg 59019694045.jpg 590196

所以我会在这里解释一下

我需要创建一个CSV文件,但是一个接一个地设置文件名是一件痛苦的事情,所以我考虑创建一个bat文件

这是我发现的,或者说是我复制并应用的

在批处理文件中,我得到了以下代码:

dir /b > myFiles.txt
它在文本文件中给出了以下结果:

59019694038.jpg
59019694038_1.jpg
59019694038_2.jpg
59019694038_3.jpg
59019694038_4.jpg
59019694045.jpg
59019694045_1.jpg
59019694045_2.jpg
59019694045_3.jpg
bat.bat
myFiles.txt
但为了让事情更容易做,我想添加一个;在它找到的每个文件之后

所以结果是这样的:

59019694038.jpg;
59019694038_1.jpg;
59019694038_2.jpg;
59019694038_3.jpg;
59019694038_4.jpg;
59019694045.jpg;
59019694045_1.jpg;
59019694045_2.jpg;
59019694045_3.jpg;
bat.bat;
myFiles.txt;
所以我的问题是,是否有人能解释我目前在做什么,以及我如何能得到这个结果。

你可以替换你的目录。。。与:


这比解析文件并替换每一行要容易得多。

如果不希望换行,可以修改LS\u DEV的命令:

(FOR %%f IN (*.*) DO @ECHO|set /P=%%f;)>myFiles.txt

这里有一个备选答案,希望能在一行中输出它们:

@对于%%A In*Do@Set/P=%A\myFiles.txt
在本例中,我已将输出发送到当前目录的父目录中的myFiles.txt,这样它就不会包含在自己的结果中。如果您愿意,您可以选择将其更改为其他位置或将其包含在自己的内容中。

感谢您的快速回答!但是我需要它可以很容易地复制,所以有没有办法从文本文件中删除文件位置?所以我得到了这个结果:Z:\Persoonlike mappen\me>ECHO 59019694038.jpg;59019694038.jpg;uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu我需要它是这样的:59019694038.jpg;59019694038.jpg;修正。@丢失现在我想知道是否有可能在一行中获得已排序的项目,我不知道如何解释这一点,所以我将给出一个示例。现在我得到了我之前要求的结果,但我想更进一步。每行包含一个文件,但我想更改它。我不需要整理东西,而是希望能够轻松地复制每行的粘贴,所以不要这样:12836791.jpg;12836791_2.jpg;12836791_3.jpg;12838445.jpg;我希望每行有这样一个结果:12836791.jpg;12836791_2.jpg;12836791_3.jpg;12838445.jpg;这可能会更清楚一点:->请考虑我的答案是否比当前接受的更适合于满足每行要求的另一个答案;非常感谢。
(FOR %%f IN (*.*) DO @ECHO|set /P=%%f;)>myFiles.txt