- 締切済み
コマンドプロンプト 半角スペースを含んだ文字列の抽出
コマンドプロンプト 半角スペースを含んだ文字列の抽出 したいです。 reg quaryの結果の一部をコマンドプロンプトで抽出したいのですが、半角スペースを含んでいるからか、求めるような結果が得られません。 ●ほしい文字列: C:\Program Files\aaa bbb ccc\aa bb ●reg quaryの結果: ! REG.EXE VERSION 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\aaaRegister Dir REG_SZ C:\Program Files\aaa bbb ccc\aa bb ●試したコマンド: for /f "skip=2 tokens=\3,*" %A in ('reg query %REGNAME% /v Dir') do echo %A ●結果:C:\Program どのようなコマンドが適当なのでしょうか?宜しくお願いいたします。
- indigo45kk
- お礼率71% (53/74)
- その他(プログラミング・開発)
- 回答数2
- ありがとう数3
- みんなの回答 (2)
- 専門家の回答
みんなの回答
あ~~~、なんか変ですね。 通常スペースを含むPath指定の場合にはダブルクオートで 囲んで指定します。 試しにMS-DOSプロンプトへ スペースを含むパスを持ったファイル C:\Documents and Settings\test.txt スペースを含まないパスを持ったファイル C:\test.txt を作成し、それぞれドラッグしてみてください。 片方はダブルクオートで囲まれ、 もう片方はダブルクオート無しで表示されるはずです。 #言いたいこと伝わるかな...
Dir REG_SZ C:\Program Files\aaa bbb ccc\aa bb "C:\Program Files\aaa bbb ccc\aa" bb っとパスの部分をダブルクオートで囲んでもダメですか?
お礼
ありがとうございます。
補足
#言いたいこと伝わるかな... ->ありがとうございます。分かりました。 スペースを含む方は""で囲まれました。regの値も本来は""で囲まれて出力されるのでしょうか?そうでない場合、コマンド内で""で囲む方法はないでしょうか?
関連するQ&A
- コマンドプロンプト 半角スペースを含んだ文字列の抽出
●ほしい文字列: C:\Program Files\aaa bbb ccc\aa bb ●reg quaryの結果: ! REG.EXE VERSION 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\aaaRegister Dir REG_SZ C:\Program Files\aaa bbb ccc\aa bb ●試したコマンド: for /f "skip=2 tokens=3*" %A in ('reg query %REGNAME% /v Dir') do echo %A ●結果:C:\Program token=3-6 としても同じ結果です。 どのようなコマンドが適当なのでしょうか?宜しくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- コマンドプロンプト 全角を含んだ文字列の抽出
●ほしい文字列: C:\Program Files\全体\a b ●reg quaryの結果: ! REG.EXE VERSION 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\goo Dir REG_SZ C:\Program Files\本体\a b ●試したコマンド: for /f "skip=2 tokens=2*" %A in ('reg query %REGNAME% /v Dir') do echo %B ●結果:C:\Program Files\全体\a 全角を含んでいると以降のスペース以下が取得できないようなのですが 全角の有無にかかわらず取得できる方法はないでしょうか? 宜しくお願いいたします。
- 締切済み
- その他(プログラミング・開発)
- コマンドプロンプトで繰り返し起動の処理
コマンドプロンプト初心者です。 同じファイルを起動する処理を繰り返し(ループ)させたいのですが、 どのように記述すればよろしいのでしょうか。 例として"C:\Program Files\aaa\bbb.exe"のファイルでご教示願えませんか。 ループの最中に1秒だけ間を置く処理を挟みたいと考えています。 よろしくお願い致します。
- 締切済み
- その他(プログラミング・開発)
- コマンドプロンプトのエラー
Windows10です コマンドプロンプトで、Java のサンプルプログラムをコンパイルしようとすると、以下のようになります。何が原因でしょうか? C:\Program Files\Java\jdk-15.0.1\src →ここにHello.java のサンプルプログラム(テキスト)は存在します。 C:\Program Files\Java\jdk-15.0.1\bin\→ここにjava.exeは存在します --------------------------------- (以下、コマンドプロンプトの画面) C:\Program Files\Java\jdk-15.0.1\src>C:\Program Files\Java\jdk-15.0.1\bin\javac Hello.java 'C:\Program' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
- ベストアンサー
- Windows系OS
- コマンドプロンプトについて
コマンドプロンプトのコマンドで、特定のラインから終わりのラインまでの実行コマンドや実行結果をテキスト等に吐きだすことのできるのコマンドがありましたら教えて下さい。 (SQLで言うところのスプールみたいなものです。) 例 C:\>○○○ ←(開始) C:\>DIR C:\ のディレクトリ 2001/12/18 14:57 <DIR> WINNT 2002/06/26 20:26 <DIR> PrintAgent C:\>●●● ←(終了) 上の例だと、○~●の間の行がテキストに吐き出される形となります。 SQLやUNIXでは可能な操作なので、あるとは思うのですが・・・ もし、ご存知の方いましたら宜しくお願いします!
- ベストアンサー
- その他(インターネット・Webサービス)
- コマンドプロンプト
VB6.0でコマンドプロンプトを使用し Shell("cmd.exe /c dir")と入力した時に 実行結果を取得する方法は存在するのでしょうか?ちなみに特にdirに限った訳ではありません。
- ベストアンサー
- Visual Basic
- コマンドプロンプトからファイル実行について
コマンドプロンプト初心者です。 説明が下手で申し訳ありませんが、コマンドプロンプトを起動し、C:\Program Filesから辿ってファイルを実行させようとすると、 C:\Programは、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 と表示され、できなくて困っております。 パスがないのかなと思い、試行錯誤してみましたがダメでした。 あとDOS窓はコマンドプロンプトのことですよね?
- 締切済み
- Windows Vista
- SQLで○○の値以外を持っているレコードを抽出しないという条件を作りた
SQLで○○の値以外を持っているレコードを抽出しないという条件を作りたいのですが・・・ 例えばこんな感じのテーブルがあったとします。 A1 A2 A3 -- -- -- AAA AA 111 AAA AB 111 AAA BB 222 BBB BB 111 CCC AA 111 CCC AC 555 DDD BB 222 EEE AA 111 EEE AC 333 EEE BB 777 A2の列に「BB」の値"しか"持っていないレコードを抽出したいのです このテーブルで言えば返りは BBB BB 111 DDD BB 222 と期待しています。 値BBのみしか持ってない条件の作り方を御教示願えませんでしょうか。 また、A2の値も文字数以外は規則性があるわけではないので無限パターンです。 詳しい方よろしくお願いします。
- ベストアンサー
- その他(データベース)
- perlでコマンドプロンプト実行
いつもお世話になります。 現在、jperlを使用し、 あるフォルダ内の中にあるサブフォルダをlaplusを使用し コマンドラインから圧縮をかけるというスクリプトを作成しております。 そこで、下記ロジックを実行するとエラーになります。 【ロジック】 $cmd = "\"c:\\Program Files\\Lhaplus\\Lhaplus.exe\" /c:lzh o:\"C:\\Users\\testtaro\\Documents\\LAPLUS_TEST\" \"C:\\Users\\testtaro\\Documents\\LAPLUS_TEST\\2011-03-11(0100)\""; system($cmd); 【エラーメッセージ】 'c:\Program' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 「$cmd 」の内容をデバック出力しそれを直接コマンドプロンプトで実行すると 正常に圧縮されます。 おそらく「Program Files」の半角スペース内で切れてしまっているのだと思いますが、 ダブルクォテーションでくくるやり方が間違っているのでしょうか。 超初心者の質問で大変申し訳ありませんが宜しくお願いします。
- ベストアンサー
- Perl
お礼
ありがとうございます。
補足
#言いたいこと伝わるかな... ->ありがとうございます。分かりました。 スペースを含む方は""で囲まれました。regの値も本来は""で囲まれて出力されるのでしょうか?そうでない場合、コマンド内で""で囲む方法はないでしょうか?