2016-10-11 30 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 

你應該能夠適應這符合你的要求。