2

MYTEST.** などのデータセット名を持つ一時的な PS データセットを大量に削除したいのですが、タスクを処理する簡単な方法が見つかりません。
以下のシェルコマンドを使用してそれらを削除するつもりでした

  cat "//'dataset.list'"| xargs -I '{}' tsocmd "delete '{}'"

ただし、最初にデータセット リストを PS データセットまたは Unix ファイルに保存する必要があります。Unix では、ls コマンドの出力を "ls MYTEST.* > dslist" のようにテキスト ファイルにリダイレクトできますが、TSO または ISPF パネルでは、それを行う単純なコマンドではないようです。

誰でもこれについて何か手がかりがありますか?あなたのコメントをいただければ幸いです。

4

3 に答える 3

1

Rexx ISPF オプションはおそらく最も簡単で、将来的に使用できますが、オプションには次のものがあります。

  • ispf 3.4 の save コマンドを使用してファイルに保存し、save コマンドによって作成されたファイルに対して rexx プログラムを使用します。

  • 特にlistcatコマンド

    listcat lvl(MYTEST) ofile(ddname)

    次に、実際の削除を行うrexxプログラムを作成します

  • 別の方法として、 ISPF の下で実行されている rexx プログラムでISPF サービスLMDINIT、LMDLISTY、および LMDFREEを使用することもできます。

       /* データセットを処理する Rexx ispf プログラム */
       アドレス ispexec
       "LMDINIT LISTID(lidv) LEVEL(MYTEST)"
       "LMDLIST LISTID("lidv") オプション(リスト) データセット(dsvar) 統計(はい)"
       do while rc = 0
          /* 削除でもなんでも */
       終わり
       "LMDFREE LISTID("lidv")"

これらすべてのメソッドについて、最初の高レベル修飾子を完全に修飾する必要があります。


Rexx / ISPF が将来役立つものを学びます。ISPF エディターでは、 modelコマンドを使用して、すべての ISPF コマンドのテンプレート/情報を取得できます。

 Command ====> Model LMDINIT 

lmdinit コマンドのテンプレートを追加します。rexx、cobol、pl1、ISPF-panels、ISPF-skeleton メッセージなどのテンプレートがあります。

于 2014-07-22T03:10:06.940 に答える