【发布时间】:2014-02-11 15:02:02
【问题描述】:
感谢任何帮助,如果我的术语不正确,请见谅。
find ./ -iname '*.csv' -exec sed -i '1,6d;$ d' '{}' ';'
这个在 cygwin 上运行的 unix 命令将遍历目录和以 .csv 结尾的子目录中的所有文件
对于每个文件,它会删除前 6 行和最后一行,这就是返回的文件。
我的问题是如何在 vbs 脚本中编写等效项?
我尝试编辑这样的内容 (taken from here) 以满足我的要求,但没有任何乐趣。
Set fso = CreateObject("Scripting.FileSystemObject")
Set csv = fso.OpenTextFile(WScript.Arguments(...))
If Not csv.AtEndOfStream Then csv.SkipLine 'skip first row
Do Until csv.AtEndOfStream
line = csv.ReadLine
'process read line
Loop
csv.Close
注意:然后我想使用任务调度程序定期安排这个 vbs 脚本
编辑 在运行脚本之前,该文件将如下所示:(row7 和 row?? 之间的行数是可变的且未知的)
<blank line/row1>
<blank line/row2>
<Text would be on this row/line3>
<Text would be on this row/line4>
<Text would be on this row/line5>
<blank line/row6>
<Text would be on this row/line7>
.
.
.
<Text would be on this row/line??>
<Text would be on this Last row/line>
【问题讨论】:
-
+1 尝试解决您的问题。但是……sed和vbs对文本处理的操作模型,共同点很少。考虑编辑您的问题以包含示例数据,进一步示例显示每个
sed命令在该文本中发生的转换。一些vbs程序员可能理解sed命令,但更多人会理解并举例说明我有这个数据X,我需要将它转换为Y。祝你好运。