[前の記事]« [NT系]KR.EXEを起動すると画面がクリアされてしまう
[次の記事][NT系]日付の古いファイルを削除するバッチ処理 »

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

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

[Win98] >を文字としてリダイレクトしたい

119.
>を文字としてリダイレクトしたい
2004年12月06日(月) 12時30分
うご
●DOS/Windowsのバージョン↓
win98SE

はじめまして。悩みの種がシンプルすぎるのか、どこを探しても
hitといえるものがありません。よろしく御教授ください。
目的は、バッチファイルからバッチファイルを作ることです。
a.batから、a'.batを作りたいのですが『>』や『>>』が入ると
うまくいきません。

a.bat
@echo echo %%1>test.txt>a'.bat
@echo echo %%2>>test.txt>>a'.bat
として、
echo %1>test.txt
echo %2>>test.txt
というa'.batを作りたいのですが、出来上がったa'.batは
echo %1
echo %2
となります。何処がいけないのですか?
基本的な勉強が自分に欠けている気はするのですが、、
良ければ御教授、アドバイス、宜しくお願いします。
127.
Re:>を文字としてリダイレクトしたい
2004年12月06日(月) 23時33分
Hellcat
">"や"<"はリダイレクトを意味する記号なので、ECHOコマンドでこの記号を文字列として出力することはできませんが、他のツールでよければ以下のようなコマンドで実現可能です。

使用ツール
 BATUTY 1.11

使用方法
例えば
 Tokyo<==>Osaka
という文字列を出力する場合は
 bu !echo Tokyo${==$}Osaka
とします。
つまり
 > は $}
 < は ${
で表記します。

 %%1>test.txt

という文字列をa'.batファイルに出力する場合は
 bu !echo %%1$}test>a'.bat
とすればよいことになります。

BATUTY 1.11
bu111.lzh
http://www.vector.co.jp/soft/dos/util/se023753.html
128.
Re2:>を文字としてリダイレクトしたい
2004年12月07日(火) 02時45分
otn
>">"や"<"はリダイレクトを意味する記号なので、ECHOコマンドでこの記号を文字列として出力することはできませんが、他のツールでよければ以下のようなコマンドで実現可能です。

>使用ツール
> BATUTY 1.11

Win9x系でスクリプトを書くのは標準機能で出来る限界が低いので、何らかの非標準ツールを使うのが良いと思います。BATUTY(BU.COM)は1つで何でも出来るのでお勧めです。

今回のは一応、使わなくてもちょっとトリッキーなことをすれば出来ますが。

echo @prompt echo %%%%1$Gtest.txt>tmp.bat
command /e:4000 /c tmp.bat > a'.bat
echo @prompt echo %%%%2$G$Gtest.txt>tmp.bat
command /e:4000 /c tmp.bat >> a'.bat

Win98が無いのでWinMeで確認しました。/e:4000 は無くても良いかも。
空行が余計に入ってしまいますが、望みの結果は得られます。
131.
有難うございます。
2004年12月07日(火) 11時11分
うご
Hellcatさん、otnさん、以外にも優しいお答え有難うございました。
さんざ検索して『>』等の記号がechoコマンドで使えないことを確かめ、そこで疲れてしまいました。
otnさんの
>今回のは一応、使わなくてもちょっとトリッキーなことをすれば出来ますが。

>echo @prompt echo %%%%1$Gtest.txt>tmp.bat
>command /e:4000 /c tmp.bat > a'.bat
>echo @prompt echo %%%%2$G$Gtest.txt>tmp.bat
>command /e:4000 /c tmp.bat >> a'.bat
は、やってみようと思いましたが、98では無理のようです。
お二人お勧めのツール検討してみます。大変お世話になりました。
132.
Re4:有難うございます。
2004年12月07日(火) 17時23分
otn
うごさん、otnです。

>>echo @prompt echo %%%%1$Gtest.txt>tmp.bat
>>command /e:4000 /c tmp.bat > a'.bat
>>echo @prompt echo %%%%2$G$Gtest.txt>tmp.bat
>>command /e:4000 /c tmp.bat >> a'.bat
>は、やってみようと思いましたが、98では無理のようです。

a'.bat はどのような結果が入りましたか?あるいはエラーが出ました? 
これくらいのことでWin9x間の違いは無いと思うんですが。昔Win95で類似の事をやったような記憶もあるし(というかその記憶があるので書けたんですが)。
135.
Re5:有難うございます。
2004年12月08日(水) 11時17分
うご
>うごさん、otnです。

>>>echo @prompt echo %%%%1$Gtest.txt>tmp.bat
>>>command /e:4000 /c tmp.bat > a'.bat
>>>echo @prompt echo %%%%2$G$Gtest.txt>tmp.bat
>>>command /e:4000 /c tmp.bat >> a'.bat
>>は、やってみようと思いましたが、98では無理のようです。

>a'.bat はどのような結果が入りましたか?あるいはエラーが出ました? 
>これくらいのことでWin9x間の違いは無いと思うんですが。昔Win95で類似の事をやったような記憶もあるし(というかその記憶があるので書けたんですが)。


え~、お返事します。詳しいことを端折ったことをお詫びします。
otnさんのお答えをこぴぺしてa.batとして実行したところ、
-tmp.bat-
@prompt echo %%1$Gtest.txt
が作られa'.batが作られはしましたが、その中身は空でした。
オプションを外したりもしましたが結果は変わりませんでした。。
136.
Re6:有難うございます。
2004年12月08日(水) 20時02分
otn
>>うごさん、otnです。
>>
>>>>echo @prompt echo %%%%1$Gtest.txt>tmp.bat
>>>>command /e:4000 /c tmp.bat > a'.bat
>>>>echo @prompt echo %%%%2$G$Gtest.txt>tmp.bat
>>>>command /e:4000 /c tmp.bat >> a'.bat
>>>は、やってみようと思いましたが、98では無理のようです。
>>
>>a'.bat はどのような結果が入りましたか?あるいはエラーが出ました? 
>>これくらいのことでWin9x間の違いは無いと思うんですが。昔Win95で類似の事をやったような記憶もあるし(というかその記憶があるので書けたんですが)。
>>

>え~、お返事します。詳しいことを端折ったことをお詫びします。
>otnさんのお答えをこぴぺしてa.batとして実行したところ、
>-tmp.bat-
>@prompt echo %%1$Gtest.txt
>が作られa'.batが作られはしましたが、その中身は空でした。
>オプションを外したりもしましたが結果は変わりませんでした。。

今、Win95でやってみましたが出来ました。おかしいですね。
ただ上記だと変なところにLFコードが入るようで、echo @prompt echo %%%%1$Gtest.txt$_>tmp.bat の方が良いです。

echo @prompt echo %%%%1$Gtest.txt$_>tmp.bat
echo.>>tmp.bat
command /e:4000 /c tmp.bat > a'.bat

ではどうですか?
 
 


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

 

カテゴリー一覧

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


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

資料書籍

About

2004年12月06日 10:17に投稿されたエントリーのページです。

ひとつ前の投稿は「[NT系]KR.EXEを起動すると画面がクリアされてしまう」です。

次の投稿は「[NT系]日付の古いファイルを削除するバッチ処理」です。

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

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