[前の記事]« Windowsアプリの停止をコマンドでできないか?
[次の記事]schtasksで半角スペースを含むパスを実行させたい »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「UNIXコマンドとDOS/Windows」索引へ

UNIXからWindowsへのバッチファイル移植相談

841.
バッチファイル内の文字列操作
2005年11月11日(金) 08時11分
けん
はじめましてけんと申します。
今、業務でUNIXのkshからWindows Server 2003のDOSのバッチファイルに書き換えをしています。

kshもDOSも初心者です。
お恥ずかしいですが、超基本的な質問があります。

1. バッチファイル内で使える変数とは、
すべて環境変数を指しているのでしょうか?

環境変数以外のバッチファイル内で使用できる変数はあるのでしょうか?

2. あるファイルからキーワードを指定して
 それに対応する値を取得したいです

以下のようなものです

    **********************************
  aaaa    (1)        bbbb XXXXXX
    bbb     cccc       dddd ssss
    eeee    10         fff  (
    **********************************
    
aaaaに対応する(1)の1という数値を取得して処理したいです
括弧の中の1という数字の桁数は、変動します


   
3. 2と関係してるのですが、kshでsedとかawkとか
たくさん使用されているのですが、それをバッチファイルに置き換えるのですが、バッチファイル内での文字列操作の参考になるサイトは、このサイト以外あるでしょうか?

よろしくお願いします
   
843.
Re:バッチファイル内の文字列操作
2005年11月13日(日) 19時18分
otn
>はじめましてけんと申します。
>今、業務でUNIXのkshからWindows Server 2003のDOSのバッチファイルに書き換えをしています。
>
>kshもDOSも初心者です。
>お恥ずかしいですが、超基本的な質問があります。
>
>1. バッチファイル内で使える変数とは、
>すべて環境変数を指しているのでしょうか?
>
>環境変数以外のバッチファイル内で使用できる変数はあるのでしょうか?

unixのシェル変数に相当するものはありません。すべて環境変数です。unixのシェルと同じく、setコマンドで全(環境)変数が表示されます。例外としてそれ以外にも少しありますが、それらは、set /? で表示されるヘルプの最後に載っています。

>2. あるファイルからキーワードを指定して
> それに対応する値を取得したいです
>
>以下のようなものです
>
>    **********************************
>  aaaa    (1)        bbbb XXXXXX
>    bbb     cccc       dddd ssss
>    eeee    10         fff  (
>    **********************************
>    
>aaaaに対応する(1)の1という数値を取得して処理したいです
>括弧の中の1という数字の桁数は、変動します

for "tokens=1,2 delims=() " %%A in (filename.txt) do if %%A==aaaa set ANS=%%B

区切り文字を括弧と空白を指定して、第一トークンがaaaaのとき第二トークンを取得するようにします。

>3. 2と関係してるのですが、kshでsedとかawkとか
>たくさん使用されているのですが、それをバッチファイルに置き換えるのですが、バッチファイル内での文字列操作の参考になるサイトは、このサイト以外あるでしょうか?

sed や awk 相当をバッチの標準機能だけでやるのは困難です。
http://gnuwin32.sourceforge.net/packages.html
Vector等からsed や awk を入れるのがよいと思います。

Windowsの標準機能だけでやるなら、VBScript とか JavaScript を使う必要があります。これらを使う場合は大幅に書き直しが必要ですね。VBS/JSのリファレンスは、
http://www.microsoft.com/japan/msdn/scripting/
から、「Windows Script 5.6 ドキュメント」をダウンロードしてください。
 
 


カテゴリー「UNIXコマンドとDOS/Windows」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2005年11月11日 15:56に投稿されたエントリーのページです。

ひとつ前の投稿は「Windowsアプリの停止をコマンドでできないか?」です。

次の投稿は「schtasksで半角スペースを含むパスを実行させたい」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート