2016-10-11 55 views
2

我有这个文件input.text说20行。 (虽然我想能够使用任意数量的行)在Openvms中迭代文件DCL

所以我想打开所述文件并使用每个字符串,就像它是另一个命令的参数一样。

这个其他命令会使每个参数执行它的功能,然后将输出写入另一个文件本身。

我该如何完成预期目标?

+1

看看['OPEN'](http://h41379.www4.hpe.com/doc/83final/9996/9996pro_151.html),['READ'](http://h41379.www4。 hpe.com/doc/83final/9996/9996pro_160.html#index_x_849),“IF”,“GOTO”和“CLOSE”。 – HABO

+0

>>>说20行。 (尽管我希望能够使用任意数量的行) - >行数不相关,使用'open log input.txt'标签循环和'read/end = end log line',然后一个'goto loop'你可以读取一个文件,而不管行数(添加一个标签结束,你关闭日志的地方) – user2915097

回答

0

下面是一个例子DCL命令文件读取INPUT.TXT并使用发现作为参数传递给输出到文件名为DIROUT.TXT DIR命令行:

$! Read file using results as DIR command parameters... 
$ file1="INPUT.TXT" 
$ file2="DIROUT.TXT" 
$ open/read chnl1 'file1' 
$ on control_y then goto done_loop 
$ on error then goto done_loop 
$read_loop: 
$ read/end_of_file=done_loop chnl1 opt1 
$ write sys$output ">>> Sending DIR ",opt1," output to ''file2'..." 
$ dir/out='file2' 'opt1' 
$ goto read_loop 
$done_loop: 
$ close chnl1 
$ write sys$output "Finished..." 
$ EXIT 

你应该能够适应这符合你的要求。