[前の記事]« ウイルスバスターでのFDチェックをバッチを使って能率化したい
[次の記事]「」を含む環境変数のSETと参照方法 »

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

▲カテゴリー「リダイレクト処理、パイプ処理」索引へ

末尾に"=数字"を含む環境変数のリダイレクト

762.
echoでの書き込み
2005年09月19日(月) 19時55分
tatu
●DOS/Windowsのバージョン↓
Windows2000

下の文で変数aに入れた、user=1をtest.txtに書き出したいのですが、下の文だとuser=と書かれて1が消えてしまいます。

set a=user=1
echo %a%>> test.txt

又、%a%の後ろにスペースを入れると1は書かれるのですがスペースも書かれてしまいます、user=1と綺麗に書く方法は有りますでしょうか?
764.
Re:echoでの書き込み
2005年09月19日(月) 20時22分
otn
>●DOS/Windowsのバージョン↓
>Windows2000
>
>下の文で変数aに入れた、user=1をtest.txtに書き出したいのですが、下の文だとuser=と書かれて1が消えてしまいます。
>
>set a=user=1
>echo %a%>> test.txt
>
>又、%a%の後ろにスペースを入れると1は書かれるのですがスペースも書かれてしまいます、user=1と綺麗に書く方法は有りますでしょうか?

>>test.txt echo %a%
と、リダイレクションを最初に書きます。
765.
Re:echoでの書き込み
2005年09月19日(月) 21時23分
tatu
ありがとうございます、思い通りに書き込む事ができました。
又、一行書き込むごとにテキストが開くのですが、開かないように出来ますでしょうか?
767.
Re:echoでの書き込み
2005年09月20日(火) 09時38分
otn
>ありがとうございます、思い通りに書き込む事ができました。
>又、一行書き込むごとにテキストが開くのですが、開かないように出来ますでしょうか?

「テキストが開く」???
echo 一回毎にnotepadが起動するということ?
現象がよくわかりません。
769.
Re:echoでの書き込み
2005年09月20日(火) 11時50分
tatu
そうなんですよ、
set a=user=1
test.txt echo %a%
test.txt echo %a%
test.txt echo %a%

と書いて動かすと、echoのたびにnotepadが開きnotepadを閉じると次にechoに進み、又notepadが開くといった現象が起きてしまします。もしかして私のパソコンがおかしいのでしょうか?
770.
Re:echoでの書き込み
2005年09月20日(火) 13時37分
otn
>そうなんですよ、
>set a=user=1
>test.txt echo %a%
>test.txt echo %a%
>test.txt echo %a%
>
>と書いて動かすと、echoのたびにnotepadが開きnotepadを閉じると次にechoに進み、又notepadが開くといった現象が起きてしまします。もしかして私のパソコンがおかしいのでしょうか?

???
test.txt に、user=1 という文字列を追加書きしたいんですよね?リダイレクト記号(>>)を書かないでどうするんですか。

test.txt だと、拡張子txtに関連づいたメモ帳が起動するのは当然です。
771.
Re:echoでの書き込み
2005年09月20日(火) 23時18分
cstlog
>>そうなんですよ、
>>set a=user=1
>>test.txt echo %a%
>>test.txt echo %a%
>>test.txt echo %a%
>>
>>と書いて動かすと、echoのたびにnotepadが開きnotepadを閉じると次にechoに進み、又notepadが開くといった現象が起きてしまします。もしかして私のパソコンがおかしいのでしょうか?
>
>???
>test.txt に、user=1 という文字列を追加書きしたいんですよね?リダイレクト記号(>>)を書かないでどうするんですか。
>
>test.txt だと、拡張子txtに関連づいたメモ帳が起動するのは当然です。
>

echo.1>>test.txt

と記述すると要望どおりの動作になると思います。
ポイントはecho文直後の『.』ピリオドです。

これを利用すると、半角スペースもテキストファイルへ
出力可能です。

echo. >>test.txt
772.
Re:echoでの書き込み
2005年09月21日(水) 09時28分
tatu
otnさん、cstlogさん、ありがとうございます。
上手く書き込む事が出来ました! 
774.
Re:echoでの書き込み
2005年09月21日(水) 13時58分
otn
>>>そうなんですよ、
>>>set a=user=1
>>>test.txt echo %a%
>>>test.txt echo %a%
>>>test.txt echo %a%
>>>
>>>と書いて動かすと、echoのたびにnotepadが開きnotepadを閉じると次にechoに進み、又notepadが開くといった現象が起きてしまします。もしかして私のパソコンがおかしいのでしょうか?
>>
>>???
>>test.txt に、user=1 という文字列を追加書きしたいんですよね?リダイレクト記号(>>)を書かないでどうするんですか。
>>
>>test.txt だと、拡張子txtに関連づいたメモ帳が起動するのは当然です。
>>
>
>echo.1>>test.txt
>
>と記述すると要望どおりの動作になると思います。
>ポイントはecho文直後の『.』ピリオドです。

このケースはいいんですが、問題の、
echo.user=1>>test.txt
はだめです。リダイレクト記号の直前に1桁の数字があり、さらにその前が、空白 = , ; のときは数字がファイルディスクリプタ番号と見なされてしまいます。

これを避けるためには、リダイレクトを行頭に書くしかない。
775.
Re:echoでの書き込み
2005年09月21日(水) 19時27分
otn
自己フォロー
>これを避けるためには、リダイレクトを行頭に書くしかない。

ちょっとまだるっこしいけど、
echo %a:~0,-1%^%a:~-1%>>test.txt
でもいいですね。右端の文字の手前に ^ を挿入。
776.
Re:echoでの書き込み
2005年09月21日(水) 20時45分
cstlog
>>>>そうなんですよ、
>>>>set a=user=1
>>>>test.txt echo %a%
>>>>test.txt echo %a%
>>>>test.txt echo %a%
>>>>
>>>>と書いて動かすと、echoのたびにnotepadが開きnotepadを閉じると次にechoに進み、又notepadが開くといった現象が起きてしまします。もしかして私のパソコンがおかしいのでしょうか?
>>>
>>>???
>>>test.txt に、user=1 という文字列を追加書きしたいんですよね?リダイレクト記号(>>)を書かないでどうするんですか。
>>>
>>>test.txt だと、拡張子txtに関連づいたメモ帳が起動するのは当然です。
>>>
>>
>>echo.1>>test.txt
>>
>>と記述すると要望どおりの動作になると思います。
>>ポイントはecho文直後の『.』ピリオドです。
>
>このケースはいいんですが、問題の、
>echo.user=1>>test.txt
>はだめです。リダイレクト記号の直前に1桁の数字があり、さらにその前が、空白 = , ; のときは数字がファイルディスクリプタ番号と見なされてしまいます。
>
>これを避けるためには、リダイレクトを行頭に書くしかない。
>

確かにご指摘どおり、『echo.user=1>>test.txt』とした場合
は上手くいきませんね。
ご指摘いただきありがとうございます。
 
 


カテゴリー「リダイレクト処理、パイプ処理」索引へ

 

カテゴリー一覧

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


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

資料書籍

About

2005年09月19日 07:09に投稿されたエントリーのページです。

ひとつ前の投稿は「ウイルスバスターでのFDチェックをバッチを使って能率化したい」です。

次の投稿は「「」を含む環境変数のSETと参照方法」です。

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

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