
A 回答 (10件)
- 最新から表示
- 回答順に表示
No.10
- 回答日時:
#1です。
8KBと言ってましたが、それはディスク上のサイズで
正確には半角8,176文字でした。(7.98KB)
「set /p <NUL="文字列"」で改行無しの文字列を表示できます。
面倒ですが以下のように記述すれば、単一バッチファイルでも可能です。
文字列表示後のコマンド実行も可能です。
-------------------------------
@echo off
set /p <NUL="8,176文字以内の文字列"
set /p <NUL="8,176文字以内の文字列"
set /p <NUL="8,176文字以内の文字列"
set /p <NUL="8,176文字以内の文字列"
:
:
(任意のコマンド)
-------------------------------
No.9
- 回答日時:
>いったいどういう処理をしているのか説明していただけないでしょうか。
コマンドの説明をします。
@more +2 "%~f0" >CON
@はecho offと同じ意味でコマンド自体を表示しないための記号です。
more コマンドは指定したファイルを1画面ずつ表示するコマンドです。オプションに +2 をつけているので指定したファイル名の先頭から2行スキップして(=3行目から)表示します。
"%~f0" は、このバッチファイル自身のファイル名をフルパスで表示するものです。
>CON は more コマンドの出力結果をそのままだと1画面毎に停止するため、リダイレクトしてCON(コンソールデバイス)に出力します。
結果として、指定したファイル(=このバッチファイル自身)の3行目から表示します。
2行目の @exit /b はこのバッチファイルを終了するコマンドです。
この記述があるので、3行目以降に書かれている、表示したい長文の文字列はバッチファイルの実行からは無視されます。
>あと,長文の後にコマンドを打ちたいのですが。
この方法では無理ですね。バッチファイルなので長文を先に書いてしまうと、長文をバッチファイルのコマンドとして実行しようとしてエラーメッセージなどが表示されてしまいます。3行目以降に書いてください。
No.8
- 回答日時:
#7です。
訂正です。バッチの起動なので拡張子を省略する場合もありますね。
以下のように1行目の記述を変えてください。
--------------------------------------------------------------
@more +2 "%~f0" >CON
@exit /b
ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ
--------------------------------------------------------------
この回答への補足
ありがとうございます。いったいどういう処理をしているのか説明していただけないでしょうか。あと,長文の後にコマンドを打ちたいのですが。
補足日時:2009/04/09 21:43No.7
- 回答日時:
他の方の回答に対するコメントも拝見しました。
たとえば、アルファベット260文字を表示する例ですが、次のようなバッチで表示可能です。
--------------------------------------------------------------
@more +2 %0 >CON
@exit /b
ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ
--------------------------------------------------------------
@exit /bの次の行以降に表示させたい長文を延々記述して、全体をバッチファイルとして保存してください。8KBを越えても改行なしでも大丈夫です。
バッチのアイコンをダブルクリックして表示させたい場合は、@exit /bを@cmd /k に変えてください。
XP Pro で動作確認しました。

No.6
- 回答日時:
#4です。
>投稿ありがとうございます。単数のバッチのみで実現するのは不可能
>でしょうか。お願いします。
そうすると、#2のかたの
echo "8Kバイト以内の長い長文"
上記の行を、何行も記述するしかないかと思います。
(具体的に何行までが指定可能かは、やってないのでわかりませんが。また、上記の場合、改行されてしまいますが、それではだめでしょうか)
ただ、かなり長い8K以上の長文を表示することが、本当の目的ではなく、その為の手段であれば、本当にあなたがなさりたいことを記述されれば、また別の解決方法があるかもしれません。
(例えば、長文表示がビデオカードの表示機能の測定のためであれば、ベンチマークという方法もあります)

No.5
- 回答日時:
>えぇと.... 何をしたいのか全く見えない.
>「8kB をはるかに超える文字列」をただダラダラと表示させることに何の意味があるんだろう
#3の方が、言ってますように、なぜそのようなことをなさりたいのか、理由がわかりません。その理由に非常に興味があります。差し支えなければ、そのようなことをなさりたい理由を教えていただけませんでしょうか。
No.1
- 回答日時:
文字列表示ですと「echo」コマンドになりますが
最大文字列長は半角8192文字です。(8Kバイト)
それより長い文字列を表示させたいということでしょうか?
代わりにvbsを使います。
64Kバイトでも大丈夫でした。(もっといけるかも)
-- test.vbs[呼ばれる方] ----
WScript.Echo "長文・・・"
----------------------------
-- test.bat[呼ぶ方] --------
cscript //nologo test.vbs
----------------------------
上の2ファイルを作成し、test.batを実行します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトをクリック...
-
バッチファイル 文字列にスペ...
-
バッチ終了時にDOS窓を閉じるコ...
-
バッチファイルを使ってテキス...
-
make test って何をするための...
-
シェルからpsqlコマンドでトラ...
-
findstrでヒットした1行前の文...
-
フォルダ、ファイル操作に最適...
-
AccessVBAから差し込みWORD起動...
-
バッチファイル
-
CPRMでコピーしたDVDを再コピー...
-
バッチファイル reg queryした...
-
ftpコマンド出力結果の取得
-
2つ目の「pause」は無効?
-
シェルスクリプトでwhileを用い...
-
シェルスクリプト(.sh)で、10進...
-
コマンド プロンプト
-
ftpのタイムアウト指定
-
コマンドプロンプトでファイル...
-
バッチファイルについて教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイル 文字列にスペ...
-
バッチ終了時にDOS窓を閉じるコ...
-
コマンドプロンプトをクリック...
-
make test って何をするための...
-
findstrでヒットした1行前の文...
-
AccessVBAで実行時間を指定する...
-
SSH接続でwindowsサーバのコマ...
-
DOSコマンドに詳しい方、お知恵...
-
シェルの「:コマンドが見つか...
-
ショートカットをデスクトップ...
-
フォルダ、ファイル操作に最適...
-
ftpコマンドを実行すると「425 ...
-
ftpコマンド出力結果の取得
-
バッチファイルでのMACアドレス...
-
DOSコマンドで指定日数よりも過...
-
2つ目の「pause」は無効?
-
バッチファイルでdiskpart.exe...
-
バッチえファイルを編集するに...
-
シェルスクリプト内のcdで、カ...
-
Pythonで単純にファイルを結合...
おすすめ情報