ベストアンサー ※ ChatGPTを利用し、要約された質問です(原文:[コマンドプロンプト]文字列を繋げる) [コマンドプロンプト]文字列を繋げる 2004/07/09 17:38 このQ&Aのポイント コマンドプロンプトにおける文字の連結方法について知りたいです。以前は連結なしの%1を使用していたので、文字列の繋げ方について学びたいです。concatコマンドについて調べましたが、情報が見つかりませんでした。どのようにすれば文字列を連結できるでしょうか? [コマンドプロンプト]文字列を繋げる 先ほどこちらで回答いただき、 http://oshiete1.goo.ne.jp/kotaeru.php3?q=920416 やったー!あとはhogehoge@hoge.ne.jpを regeditいじって%1に置き換えて 解決だーと思っていたら・・・・ 基本的な(ことだろう)ことを 自分は知らないことに気が付いた それはコマンドプロンプトにおける「文字の連結」 これは http://f22.mail.yahoo.co.jp/ym/Compose?&To= という文字列と 展開済みの%1をつなげなければならないのだ いままで使用していたのは連結なしの %1だったからこういう経験がなかった どこかでconcatってどこかで言葉を聞いた記憶があったので concat /?で調べるも無駄 どうやってやるのでしょう?(滝汗?) 質問の原文を閉じる 質問の原文を表示する みんなの回答 (1) 専門家の回答 質問者が選んだベストアンサー ベストアンサー ittochan ベストアンサー率64% (2667/4137) 2004/07/09 18:31 回答No.1 "C:\PROGRA~1\MOZILL~1\FIREFOX.EXE" http://f22.mail.yahoo.co.jp/ym/Compose?&To=%1 これでやってみてください。 mailto: がもれなく付いてきます。 質問者 お礼 2004/07/09 19:07 書き忘れたので追記 決してToに%1が入るわけではなく Yahooメールにログインしただけの状態となる 質問者 補足 2004/07/09 19:03 うーん、上手くいきません。 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\Yahoo JP\Protocols\mailto\shell\open\command] @="\"C:\\Program Files\\Mozilla Firefox\\firefox.exe\" http://f22.mail.yahoo.co.jp/ym/Compose?&To=%1" ちょっと原因が分からないんですけどね "%1"という文字列としてみなされているのかなー。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピューターOS(技術者向け)Windows系OS 関連するQ&A コマンドプロンプトの途中でつまづきました パソコンが上手く稼動しないので散々調べた結果、システムの修復をするべきだと思いコマンドプロンプトを試みました。 管理者でコマンドプロンプトdism............checkhealthと入力したところ、修復可能ですという結果でしたのでさらに修復を試みてdism............restorehealthと入力し、 展開イメージのサービスと管理ツール バージョン6.3............ イメージのバージョン6.3.............と表示されました。(ここまで成功!) ですが、次の行の頭にカーソルが点滅して20分たっても変わりませんし文字を入力することもできません。 そのままもっと待っていれば完了しますか。Windows8.1です Excelのセルの内容をコマンドプロンプトで実行 Excel VBA初心者です。 Excelのセルに記入されている文字列をコマンドプロンプトで実行する方法を教えて下さい。 具体的には、 A1 → d: A2 → cd hogehoge A3 → dir とセルにそれぞれ記入されていたとして、フォームから作成したボタンを押下すると A1~A3が順番にコマンドプロンプトで実行(貼り付け)されるマクロの作り方が知りたいです。 ロジックは以下のようにしたいと考えています。 セルA1に値 →ない→ 「値がありません」というエラーのポップアップか何かを表示。 ↓ある セルA1に記入された文字列をコマンドプロンプトで実行 ↓ セルA2に値 →ない→exit ↓ある セルA2に記入された文字列をコマンドプロンプトで実行 ↓ セルA3に値 →ない→exit ↓ある 以下ループ わかりにくいかもしれませんが、よろしくお願い致します。 VC++6.0をコマンドプロンプトで使用する方法 すみません。http://oshiete1.goo.ne.jp/kotaeru.php3?q=1885181で質問したものですが、戴いた回答に、VC++はコマンドプロンプトでコンパイルできると言うような記述がありました。僕なりにヘルプやインターネットを調べたのですが、わかりません。。 やりたいことは、エディタでCのソースを記述し、任意のフォルダに保存し、そこをカレントディレクトリにしてコマンドプロンプトを開きコンパイル・実行するというものです。要するにJavaみたいな感じでコンパイル・実行したいのです。 使用バージョンは、VC++6.0です。BCCコンパイラ5.5を試したのですが、getcharやgetche関数で意味不明な動作をするものですから、やはりVC++を使用したいなと思い。。 度々の質問で恐縮ですが、分かる方、よろしくお願いいたします。 ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム コマンドプロンプトにおけるコマンドライン引数の展開 こんにちは。 コマンドプロンプトにおける、コマンドライン引数の展開のされ方について、質問させて下さい。 具体的に言うと、二重引用符で囲まれたコマンドライン引数が、 どのようにして各コマンドに渡されるのかを詳しく知りたいと思っています。 まずコマンドプロンプトが、コマンドラインの特殊文字を展開し、 それらが各コマンドに渡される事は知っています。 特に、2つの二重引用符で囲まれた文字列に含まれる特殊文字は普通の文字として扱われる事、 二重引用符は「\」によってエスケープできる事は知っています。 これらを理解した上で、以下のような事を試しました。 まず、以下のような、1.cというCプログラムを作成し、ビルドしました。 ____________________ #include <stdio.h> int main(int argc,char *argv[]) { int i; for(i=1; i<=9; i++) if(argv[i]) printf("argv[%d]=「%s」\n", i, argv[i]); return 0; } ____________________ 次に以下のようなバッチスクリプトを作成しました。 ____________________ @echo off echo %%~1:「%~1」 echo %%~2:「%~2」 echo %%~3:「%~3」 ____________________ その後、以下のようにして同じコマンドライン引数を、これらのプログラムに渡すと、 以下のような結果になりました。 ____________________ C:\Users\kei >1.exe "\"ab c\"" de argv[1]=「"ab c"」 argv[2]=「de」 C:\Users\kei >1.bat "\"ab c\"" de %~1:「\"ab」 %~2:「c\""」 %~3:「de」 ____________________ なぜ両者の出力結果に、違いが出るのかが分からず困っています。 コマンドプロンプロの仕様だと、1.exeの出力は予想通りだったのですが、 1.batの出力では、コマンドライン引数がスペースで区切られていると、 それらを二重引用符で囲んでも、1つの引数としてみなしてくれませんでした。 これだけでは不十分だと思い、以下のように、 Windowsコマンドではない、ダウンロードしてきたlessと Windowsコマンドであるtypeで、同じ事を試しました。 ____________________ C:\Users\kei >less "\"ab c\"" fa ab c: No such file or directory fa: No such file or directory C:\Users\kei >type "\"ab c\"" fa 指定されたファイルが見つかりません。 処理中にエラーが発生しました: \ab パラメータが間違っています。 ____________________ この結果をみると、lessでは1.exeと同じようにコマンドラインが解釈され、 moreでは1.batと同じようにコマンドラインが解釈されているようです。 こういった事実は 「まずコマンドプロンプトが、コマンドラインの特殊文字を展開し、 それらが各コマンドに渡される」 というコマンドプロンプトの仕様と矛盾しているので、頭が混乱しています。 こういった問題について、何か御存じの方がいらっしゃれば、情報提供をお願い致します。 長くなりましたが、よろしくお願い致します。 grepコマンドの使い方 下記のようなファイルがあるとします。 カレントディレクトリ /home から"hello"という文字列が含まれるテキストを grepしたい場合、コマンドはどのようにすればいいのでしょうか? 色々な方法があると思いますが、よろしくお願いします。 ---------------------------------------------------------------------- /home/hoge1/foo1.txt foo2.exe foo3.txt /home/hoge2/hogehoge2/foo4.txt foo5.exe /home/hoge3/hogehogehoge3/foo6.txt foo7.exe foo8.zip ---------------------------------------------------------------------- 困っています。コマンドプロンプト実行したとき展開先が指定されないのエラーがでる,どうすればいいか 教えてgooの質問NO.1082171と同じ質問なのですが http://oshiete1.goo.ne.jp/kotaeru.php3?q=1082171 コマンドプロントでexpand・・・と同じように入力しますが展開先が指定されないのエラーがでます。自分はどのようにやっても修復できません。 OSはXPでメーカーパソコンでxpのCDは購入時入っていませんでした。HDの中にi386ファイルはあります。どなたか教えてください。とても困っています。 可変長コマンドとその中のファイル名を変数に格納するには? 宜しくお願い致します。 可変長のコマンド(空白が可変個ある文字列)とそのコマンド文字列内のtxtファイル やdivファイルやpsファイルやtexファイル名(ひとコマンドにファイル名は1つだ け)を取り出し 変数に代入するスクリプトtest.shを考えています。 #!/bin/bash -x COMMAND= FILE= のイコールの右辺には何と記述すればいいのでしょうか? 具体的には $ ./test.sh hoge foo hoe.dvi hoehoe hogehoge … とした時(コマンド分の長さは可変) COMMANDに「hoge foo hoe.dvi hoehoe hogehoge …」という文字列、 FILEに「hoe.dvi」 を代入したいのです。 MS-DOSプロンプト すごく困ってます(T_T) 今朝「OEの起動が遅いProtectedStorage キーの初期化方法」と言う下記の質問をさせていただきました。 ------------------ ProtectedStorage キーに正しくない情報が記録され2ている場合も OE の起動に時間がかかります。 次の手順で ProtectedStorage キーを初期化してください。 (1)[スタート]-[ファイル名を指定して実行] から regedit を起動します。 (2)HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Services を開き、ProtectedStorage をクリックします。 (3)[レジストリ]-[レジストリファイルの書き出し] で任意の reg ファイルに ProtectedStorage キーを書き出します。 (4)ProtectedStorage キーを削除します。 (5)[スタート]-[プログラム]-[MS-DOS プロンプト] を開き、次のコマンドを実行します。 C:\WINDOWS>cd system C:\WINDOWS\SYSTEM>pstores -install (6)Windows を再起動します。 ------------------------- 先ほどは3-4番の質問でしたが、そこはクリアして 次は5番で困っています。 スタート→MS-DOSプロンプトがなく スタート→プログラム→アクセサリ→コマンドプロンプトしか見当たりません。 とりあえず、その画面で上記を入力しましたが 「C:\WINDOWS>cd systemは内部コマンド、または内部コマンド、操作可能なプログラム、またはバッチファイルとして認識されていません」 と出て、再度入力を求めるような形になります。 コマンドプロンプト画面の文字は C:Ddocuments and Settings\***** ****> です。 (***は私の名前) この後何をどうしたらいいでしょうか。 キーを削除しているので、とても困っています。 最悪(3)で保存したものを再度同じ場所に戻せばよろしいでしょうか? その操作方法も出来ればお願いしますm(_ _)m バッチファイル実行時のプロンプトを非表示にしたい バッチファイルを作成し、CDで配布したいと考えています。 使用者はパソコン初心者の方が多いため、バッチファイルからバッチを実行するときに 表示されるコマンドプロンプトを表示しないようにしたいのです。 過去ログ http://oshiete1.goo.ne.jp/kotaeru.php3?q=782798 にある「ショートカットで最小化」の方法だと、 CDのドライブ名が固定できないため、うまくいきません。 何かよい方法がありましたら教えてください。 よろしくお願いします。 [バッチファイル]一致した次の単語を出力したい コマンドの実行結果の標準出力をリダイレクトしてテキストファイルに書き出しました。 このファイルを読み取り、マッチした文字列の次の単語を出力したいのですが、 標準のDOSコマンド(あるいはコマンドラインで動作するフリーソフトを使用するのでも構いません。※perlなどのスクリプトや、複雑で習得の難しいもの、コマンドプロンプト拡張などは無しでお願いします)で実現するにはどうすれば良いでしょうか? テキストファイルの内容例 hogehoge: abcdefg この場合、"hogehoge:"で検索し、abcdefgを出力したいです。 solaris上のディレクトリをwindows diskへrshでtarファイルとして保存したい solaris上のディレクトリをwindowsからrshでtarを実行して直接windows上のフォルダにtarファイルとして保存したいのですが、コマンドが不明で困っております。 過去ログ(http://oshiete1.goo.ne.jp/kotaeru.php3?q=1139234)の#1さんの回答にあったコマンドがうまくいきません。 solaris8(Ultra-5) ホスト名 solAAA バックアップしたいディレクトリ /home/hogehoge windows2000proSP4 ホスト名 winBBB 保存先 C\TEMP 保存する際のtarファイル名 backup.tar コマンドプロンプトでC\TEMPにcd後、実行したいと考えております。 ちなみに↓のコマンドは正常動作を確認しております。 rsh solAAA -l root "ls -lap /" どなたか↓のコマンドの誤っている個所と、解説をお願い致します。 rsh solAAA -l root "tar cf - -C /home/hogehoge . > backup.tar" rshはsolAAA上で実行されるので、winBBBの指定がどっかに必要のような。。。 根本的にこのようなことは不可能でしょうか。 MP3分割ソフト「Presplit」使用方法について mp3を自動分割する目的で「Presplit」を使用してみましたが、分割ができません。 過去に同様の出来ない質問があるようです。どなたか教えていただけないでしょうか? 【操作方法】 方法1・presplit.vbsにMP3ファイルをドラッグ&ドロップしたが一瞬コマンドプロンプト画面がでて消えた 方法2・mp3splt.exeにMP3ファイルをドラッグ&ドロップするとコマンドプロンプト画面が出てきた Press any key to terminate...と出てきたので スペースキーを押してコマンドプロンプト画面を終了させた 注)MP3ファイルはpresplit.vbs、mp3splt.exeと同じホルダーにいれてありあます。 「Presplit」 http://hp.vector.co.jp/authors/VA035599/product_1.html 「類似質問」 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1232338 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1231637(回答1) AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム COMCTL32.DLLは開始できません。 Windows95マシンでユーザ名パスワードを 入力する画面まで出ますが 「COMCTL32.DLLは開始できません。」 エラーでストップします。 セーフモードでもダメで、 コマンドプロンプトでなら起動します。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=429882 を参考になんとか50comupd.exeのファイルまでは手に入れましたが(41の方は無くなってました) これはコマンドプロンプトでは起動できないようです。 何とかこのPCを起動させて データ避難だけでもしたいのですが無理でしょうか? scriptコマンドでログファイル viewだと文字化け^M Fedora Core4でscriptコマンドで 作業ログとして取得した後にviewコマンドでログを確認すると 改行位置に ^M の文字があり、 catコマンドではプロンプトの位置がずれてしまいます。 下記作業内容になります [unix@local ~]$ script hoge スクリプトを開始しました、ファイルは hoge です [unix@local ~]$ hostname local.com [unix@local ~]$ date 2007年 7月 20日 金曜日 23:48:35 JST [unix@local ~]$ exit スクリプトを終了しました、ファイルは hoge です [unix@local ~]$ cat hoge スクリプトは 2007年07月20日 23時48分27秒 に開始しました[unix@local ~]$ hostname local.com [unix@local ~]$ date 2007年 7月 20日 金曜日 23:48:35 JST [unix@local ~]$ exit スクリプトは 2007年07月20日 23時48分37秒 に終了しました[unix@local ~]$ [unix@local ~]$ view hoge スクリプトは 2007年07月20日 23時48分27秒 に開始しました[unix@local ~]$ hostname^M local.com^M [unix@local ~]$ date^M 2007年 7月 20日 金曜日 23:48:35 JST^M [unix@local ~]$ exit^M スクリプトは 2007年07月20日 23時48分37秒 に終了しました 以上、お手数お掛けいたしますが ご教授よろしくお願い致します。 コマンドプロンプトの文字列判定 windowsのコマンドプロンプトで悩んでいます。 ifコマンドを用いて 変数の中に文字が入っている→通常の処理 変数の中に文字が入っていない→エラー処理 としたいんですがうまくいきません。 if not %test:~1,1% == a :goto error ↑のテスト文ではtestの中の1文字進んだ所にaが入っているか判定しています 同じようにしてaの部分をNULLにするにはどう指定したらいいでしょうか? 宜しくお願いします。 コマンドプロンプトで文字列比較を行う こんばんは。 コマンドプロンプトでプログラムを作成していてわからない点があるので質問させてください。 入力された文字列の長さが4桁でないときにプログラムを終了させたいのですがその方法がわかりません。 ためしにワイルドカードを用いて以下のように作成してみたのですが これだと4桁でも条件分岐ではじかれてしまいます。 なにかいい方法がありましたらご教授ねがいたいです。 よろしくおねがいします。 **サンプル** ************************************************************ set /p date=移動したいファイルの月日を4桁で入力してください : rem 入力された文字列が4桁でないときは終了 if "%date%"=="" ( echo 月日を入力してください。 Pause exit /b ) if not "%date%"=="????" ( echo 入力文字列%date%は不正です。終了します。 Pause exit /b ) ********************************************************** .batファイルが実行できません[VB2005] お世話になってます。 VB2005にて、.batファイルの中身を書換え、他アプリケーションを 実行する処理を行っています。 しかし.batの書換えは正確に行われているのですが .bat実行中プロンプト内に出力されたテキストと異なる文字列が入っており 処理が完了しませんでした。 正しく処理するにはどのようにしたらよろしいでしょうか。 コードは下記の通りです。 'BATCHファイルの書換え処理 Dim Bat_f As New System.IO.StreamWriter(Cur_dir + "LT-AutoP1.BAT", False, System.Text.Encoding.Default) For Each line As String In ListBox1.Items Bat_f.WriteLine("CALL ACLT " + line + " /b AutoP.scr") Next Bat_f.Close() Dim psInfo As New ProcessStartInfo() psInfo.FileName = "C:\Program Files\AutoCAD LT 2002\LT-AutoP1.BAT" ' 実行するファイル psInfo.CreateNoWindow = False psInfo.UseShellExecute = False Process.Start(psInfo) 尚、正確に出力された.BATを直接ダブルクリックすると正常に処理されます。 CALL ACLT Z:\hoge\hoge1\hogehoge.dwg /b AutoP.scr コマンド実行中は下記のように表示されていました Z:\hoge\hoge1\>CALL ACLT Z:\hoge\hoge1\hogehoge.dwg /b AutoP.scr 'ACLT'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません レコード追加時のエラーを無視できるか MySQL5.0でコマンドプロンプトを用いたレコード追加に関する質問です。 sqlファイルを作って「detabase < hoge.sql」と追加しています。 指定したテーブルのカラム要素に例えばvarchar(8)があった場合、 追加しようとするレコードがvarchar(8)に収まりきらないとき 「Data too long for column 'hogehoge'」とエラーが表示されて 作業が終了します。 これを無視して作業を続けさせる方法はありますか? エラーを起こしたレコードは追加しないで飛ばして、次のレコード の追加作業を行うようにしたいのですが。 コマンドプロンプトから打てない文字があります windows7 hp 32bitなのですが コマンドプロンプトから¥サイン、ダブルクォーテーション、バックスラッシュ、どれも打つことが出来ません、仮想キーボードを使っても結果は同じです、一度全角から半角化してリターンを押しても消えてしまいます、ダブルクォーテーションは@になってしまいます これではパスが通せません… DOSをいじってたのがはるか昔でこんな不具合にあった記憶が無いので対処出来ません… お知恵を拝借願えないでしょうか? PHPのSystem関数でcdしてもうまくできない PHPのSystem関数でcdしてもうまくできない PHPで特定フォルダを圧縮しようと以下のように書いてみました。 system("cd /var/www/html/hoge;zip -r hogehoge hoge.zip"); しかし上記だと何も実行されずapacheのエラーログを見ると cdでエラーとなり Not a directryとなります。 もちろん上記フォルダは存在しますし 上記コマンドをSSH上から実行すると正しく実行されます。 権限の問題かな?とも思ったのですが試しに以下のようにフルパスで書くときちんと実行できます。 (ただし圧縮ファイルに無駄な階層が入ってしまうので解決にはなっていないのですが) system("zip -r /var/www/html/hoge/hogehoge /var/www/html/hoge/hoge.zip"); 試しに以下のようにcdコマンドを売ってpwdできちんとcdできてるか試してみると system("cd /var/www/html/hoge;pwd"); →ダメ system("cd /var/www/html/;pwd"); →ダメ system("cd /var/www/;pwd"); →ダメ system("cd /var/;pwd"); →ダメ system("cd /;pwd"); →OK system("cd /tmp/"); →OK となります。 やっぱり権限関連のような気はするのですがなんでだろう? なお/var/www/html/以下はすべて所有権をapacheにしていますし hoge以下は777にしているので書き込み権限もあります。 なんでcdできないか解決方法の心当たりあったら教えてくください。 よろしくお願いします。 環境は以下の通りです。 CentOS 4.7 PHP 5.1.6 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター OS(技術者向け) Windows系OSLinux系OSBSD系OSSolaris系OSiOS(技術者向け)Android OS(技術者向け)その他(OS) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
書き忘れたので追記 決してToに%1が入るわけではなく Yahooメールにログインしただけの状態となる
補足
うーん、上手くいきません。 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\Yahoo JP\Protocols\mailto\shell\open\command] @="\"C:\\Program Files\\Mozilla Firefox\\firefox.exe\" http://f22.mail.yahoo.co.jp/ym/Compose?&To=%1" ちょっと原因が分からないんですけどね "%1"という文字列としてみなされているのかなー。