【发布时间】:2017-05-18 04:13:35
【问题描述】:
我正在从设备(输出)创建 .csv 文件,需要将此文件中的特定行数复制到另一个具有相同格式的 .csv 文件中。
幸运的是,它们的格式相同,因此每个文件都有相同的行要复制(第 68 到 107 行)。我已经尝试过使用其他来源的代码,但到目前为止我所能做的就是复制数据但无法将其插入到另一个文件中。任何帮助都会很棒!
@echo off
Set "InputFile=C:\*****\Desktop\Dev\Test\Default.csv"
Set "OutPutFile=C:\*****\Desktop\Dev\Test\OutputData.csv"
Set FromLine=68
Set ToLine=107
Call:ExtractLinesFromTextFile "%InputFile%" %FromLine% %ToLine% >
"%OutPutFile%"
Exit /b
:ExtractLinesFromTextFile <InputFile> <FromLine> <ToLine>
(
echo Wscript.echo(ExtractLinesFromTextFile("%~1",%2,%3^)^)
echo Function ExtractLinesFromTextFile(TextFile,FromLine,ToLine^)
echo If FromLine ^<= ToLine Then
echo With CreateObject("Scripting.FileSystemObject"^).OpenTextFile(TextFile^)
echo Do Until .Line = FromLine Or .AtEndOfStream
echo .SkipLine
echo Loop
echo Do Until .Line ^> ToLine Or .AtEndOfStream
echo ExtractLinesFromTextFile = ExtractLinesFromTextFile ^& (.ReadLine ^&
vbNewLine^)
echo Loop
echo End With
echo End If
echo End Function
)>"%~n0.vbs"
Cscript /Nologo "%~n0.vbs" "%~1" %~2 %~3
If Exist "%~n0.vbs" Del "%~n0.vbs"
Exit /b
【问题讨论】:
-
编写一个除了创建和调用 VBScript 之外什么都不做的批处理文件是完全没有意义的。去掉批处理代码,直接写VBScript。
标签: csv batch-file vbscript