我需要在我的批处理脚本中实现另一个批处理脚本。我有一个脚本扫描字符串并将它们输出到一个名为“strings.txt”的文本文件中,我想用另一个批处理脚本删除重复的行。我想以某种方式将其他批处理脚本实现到我的。这是我需要应用的脚本。
@echo off
setlocal disableDelayedExpansion
set "file=%~1"
set "line=%file%.line"
set "deduped=%file%.deduped"
::Define a variable containing a linefeed character
set LF=^
::The 2 blank lines above are critical, do not remove
>"%deduped%" (
for /f usebackq^ eol^=^%LF%%LF%^ delims^= %%A in ("%file%") do (
set "ln=%%A"
setlocal enableDelayedExpansion
>"%line%" (echo !ln:\=\\!)
>nul findstr /ilg:"%line%" "%deduped%" || (echo !ln!)
endlocal
)
)
>nul move /y "%deduped%" "%~n1_deduped%~x1"
2>nul del "%line%"
我需要将所有这些发生在我的文本文件中,但所有这些或其中的变体都出现在我的脚本中。
答案 0 :(得分:1)
Set Inp = WScript.Stdin
Set Outp = Wscript.Stdout
Set Dict = CreateObject("Scripting.Dictionary")
Do Until Inp.AtEndOfStream
On Error Resume Next
Line=Inp.readline
Dict.Add Line, ""
Loop
For Each thing in Dict.Keys()
Outp.writeline thing
Next
将上面的内容放在文本文件中并将其命名为DeDup.vbs
。使用
cscript //nologo "C:\folder\dedup.vbs" < "C:\folder\inputfile.txt" > "C:\folder\outputfile.txt"
这是来自Filter - 19个子例程,显示如何过滤行,排序,修剪,说话,使用剪贴板,获取网页,剥离标记等。https://onedrive.live.com/?id=root&cid=E2F0CE17A268A4FA