Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除Windows上具有批处理文件的另一个文档中存在的一个文档中的行_Windows_Batch File - Fatal编程技术网

删除Windows上具有批处理文件的另一个文档中存在的一个文档中的行

删除Windows上具有批处理文件的另一个文档中存在的一个文档中的行,windows,batch-file,Windows,Batch File,我想从一个文档中删除已存在于另一个文档中的行 例如: 文件1 A B C D 文件2 A C 新文件 B D 有没有办法在Windows上将其作为批处理文件写入 这个问题以前在这里被问过,但没有一个对我有帮助,因为它们都是针对Linux或其他无法在批处理文件中工作的东西的 非常感谢您的帮助。Windows批处理文件没有可以处理此问题的文件读取功能。它不能替代grep或Linux的任何高级文本搜索功能,因此,恕我直言,它不能用普通的Windows批处理脚本来完成 我不推荐任何定制的windo

我想从一个文档中删除已存在于另一个文档中的行

例如:

文件1

A
B
C
D
文件2

A
C
新文件

B
D
有没有办法在Windows上将其作为批处理文件写入

这个问题以前在这里被问过,但没有一个对我有帮助,因为它们都是针对Linux或其他无法在批处理文件中工作的东西的


非常感谢您的帮助。

Windows批处理文件没有可以处理此问题的文件读取功能。它不能替代grep或Linux的任何高级文本搜索功能,因此,恕我直言,它不能用普通的Windows批处理脚本来完成

我不推荐任何定制的windows批处理脚本编写器,因为它们都是不同的,如果您想这样做,您可以在windows上使用Linux答案,找到正确的批处理脚本编写程序进行安装

如果您提供了执行此操作的完整背景,那么除了使用Windows批处理脚本之外,可能还有更好的方法来执行此操作?您可以使用更强大的脚本引擎(如AutoHotKey和其他类似程序)轻松创建自包含的可执行文件。

@echo off
@echo off
setlocal

rem Define the lines in Document2
for /F "delims=" %%a in (Document2.txt) do set doc2["%%a"]=1

rem Show lines in Document1 that are not in Document2
for /F "delims=" %%a in (Document1.txt) do (
   if not defined doc2["%%a"] (
      set /P "=%%a" < NUL
      echo/
   )
)
setlocal rem定义文档2中的行 对于/F“delims=”(Document2.txt)中的%%a,请设置doc2[“%%a”]=1 rem显示文档1中不在文档2中的行 对于/F“delims=”%(Document1.txt)中的%%a,请执行以下操作( 如果未定义doc2[“%%a”]( 设置/P“=%%a”

如果文档包含引号,则上一个批处理文件可能会失败,尽管这取决于引号与空格的位置。文档1是两个文件中最大的一个,这很方便。

我想做的是:我有两个播放列表(包含歌曲),一个播放列表包含我已经在混音中使用过的歌曲。另一个包含我所有歌曲的列表。因此,通过删除第二个播放列表中第一个播放列表中的歌曲(反之亦然),我会得到一个新的播放列表,其中包含我没有使用过的歌曲。感谢您的快速回复。播放列表仅仅是歌曲列表吗?我认为其中会有特殊的符号和/或标签来指定它是一个播放列表。如果你做了你想做的事,你会删除必要的标签,最终得到一个坏掉的播放列表。。。所以这实际上取决于播放列表的格式。你能发布一个示例吗?这是一个播放列表的示例(第一部分):#VirtualDJ播放列表#MixType=Smart K:\0\House\hard\edx hoover(phunk调查混音)。mp3 K:\0\House\hard\Agent Greg&Terri B!-时间不会等待(Inphinity dubmix)。mp3I无法获得正确的格式,但播放列表中的每首歌曲都是歌曲的确切位置和全名,除了前几行(#VirtualDJ播放列表#MixType=Smart)