Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.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
CSV文件处理Windows脚本,最好的工具,最简单的方法?_Windows_Csv_Batch File - Fatal编程技术网

CSV文件处理Windows脚本,最好的工具,最简单的方法?

CSV文件处理Windows脚本,最好的工具,最简单的方法?,windows,csv,batch-file,Windows,Csv,Batch File,在Windows平台上,使用尽可能少的工具(宁愿只使用CMD之类的内置工具,但我意识到可能需要sed之类的工具);我想创建一个脚本,它将执行以下操作 它应该输入一个csv文件,从该文件中提取某些字段,然后输出一个新的、具有唯一格式的输出csv文件,其中包含提取的字段。比如说 Input.csv Cust#, CustFName, CustLName, Address, City, State, Zip, Order#, Qty, Part, Cost, Total,,,, Output.csv

在Windows平台上,使用尽可能少的工具(宁愿只使用CMD之类的内置工具,但我意识到可能需要sed之类的工具);我想创建一个脚本,它将执行以下操作

它应该输入一个csv文件,从该文件中提取某些字段,然后输出一个新的、具有唯一格式的输出csv文件,其中包含提取的字段。比如说

Input.csv
Cust#, CustFName, CustLName, Address, City, State, Zip, Order#, Qty, Part, Cost, Total,,,,

Output.csv
,,, Qty, City,,,, CustFName,,, Total,,, Zip,,,

csv文件将改变记录的数量。有些将有3条记录,而另一些将有10000条记录。

您可以使用VBscript,自Win2K以来,几乎所有Windows系统都可以使用VBscript。下面是一个示例,假设您没有“引号”逗号

从cmd行运行此命令,如“cscript yourscript.vbs”。对于“真实”的情况,您可能需要添加一些代码来处理不同数量的记录、逗号是引用记录的一部分的记录等等,但是一般的方法应该是明确的

以下是MS Win2K脚本指南中的另一个示例:

Dim fso, f2, ts, ts2, line, records
Const ForReading = 1, ForWriting = 2, ForAppending = 8

Set fso = CreateObject("Scripting.FileSystemObject")
Set tf1 = fso.OpenTextFile("infile.txt", ForReading, false)
Set tf2 = fso.OpenTextFile("outfile.txt", ForWriting, true)
Do While Not tf1.AtEndOfStream
    line = tf1.ReadLine
    records=Split(line,",")
    ' ... process your records here '
    line = Join(records,",")
    tf2.WriteLine line
Loop
tf1.Close
tf2.Close