• ベストアンサー

文字列抜き出し方法

こんにちは、 test.batを DOSコマンド?(コマンドプロンプト) でコードを書いているのですが、 下記の文のときに、 "%~1"の2文字目から、最後の文字までを 抜き出したいのですがコマンドがわかりません。 (VBだとMID) どなたかわかりかた、いらっしゃいませんでしょうか。 if "%~1"=="" exit /b echo %1

質問者が選んだベストアンサー

  • ベストアンサー
  • Apr2nd
  • ベストアンサー率69% (36/52)
回答No.1

"%~1"というのが"%1"のミスと仮定して、こんな感じでどうでしょうか。 set param=%1 set value=%param:~1% echo %value%

lensent
質問者

お礼

ありがとうございます。 ばっちりでした。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • DOS 特定の文字列を含むファイルのみの抽出方法

    C直下に2つのテキストファイル「A.txt」「B.txt」が存在するとします。 Aには「Start」、Bには「Second」という文字列が含まれているとします。 これらのテキストを、BATを使って『テキスト内に特定の文字列が含まれているファイル』のみをDOSプロンプト上に表示する方法をご教示願います。 ■想定するコマンド実行結果 ・Start.BATを実行→DOSプロンプトにて「A.txt」のみが表示する。 ・Second.BATを実行→DOSプロンプトにて「B.txt」のみが表示する。 よろしくお願いします。

  • Exit codeの確認方法

    シェルスクリプトを実行するとExitコードが返されると思うのですがどのようにすればそのコード値をコマンドプロンプトから確認できますでしょうか? 例えば以下のようなかんじのものを想定しています。 test.sh | echo exit

  • コマンドプロンプトの文字列判定

    windowsのコマンドプロンプトで悩んでいます。 ifコマンドを用いて 変数の中に文字が入っている→通常の処理 変数の中に文字が入っていない→エラー処理 としたいんですがうまくいきません。 if not %test:~1,1% == a :goto error ↑のテスト文ではtestの中の1文字進んだ所にaが入っているか判定しています 同じようにしてaの部分をNULLにするにはどう指定したらいいでしょうか? 宜しくお願いします。

  • PowerShellからPowerShellを呼び出す方法

    PowerShellからPowerShellを呼び出す方法 次のバッチファイルと同等の事をPowerShellで行う方法を教えて下さい。 下記のような非常に簡易的なバッチファイルがあるとします。 ■ aaa.bat ■ echo test ■ aaa.bat ■ ■ bbb.bat ■ aaa.bat > aaa.log ■ bbb.bat ■ ■ コマンドプロンプト ■ cmd> aaa.bat ・・・ 下に「test」と出力される test cmd> bbb.bat ・・・ ファイルaaa.logに「test」と出力される ■ コマンドプロンプト ■ 同じ事をPowerShellでするとすれば ■ aaa.ps1 ■ echo "test" ■ aaa.ps1 ■ ■ PowerShellの画面から ■ PS > ./aaa.ps1 ・・・ 下に「test」と出力される test PS > ./bbb.ps1 ・・・ ファイルaaa.logに「test」と出力される ■ PowerShellの画面から ■ この時の「bbb.ps1」はどのようになりますか?

  • コマンドプロンプトで文字列比較を行う

    こんばんは。 コマンドプロンプトでプログラムを作成していてわからない点があるので質問させてください。 入力された文字列の長さが4桁でないときにプログラムを終了させたいのですがその方法がわかりません。 ためしにワイルドカードを用いて以下のように作成してみたのですが これだと4桁でも条件分岐ではじかれてしまいます。 なにかいい方法がありましたらご教授ねがいたいです。 よろしくおねがいします。 **サンプル** ************************************************************ set /p date=移動したいファイルの月日を4桁で入力してください : rem 入力された文字列が4桁でないときは終了 if "%date%"=="" ( echo 月日を入力してください。 Pause exit /b ) if not "%date%"=="????" ( echo 入力文字列%date%は不正です。終了します。 Pause exit /b ) **********************************************************

  • バッチ・ログファイルへの出力

    <子シェル.bat>に以下のように正常/異常のEXITコードを出力させてます。 コマンド if %ERRORLEVEL% EQU 0 exit 0 if %ERRORLEVEL% NEQ 0 exit 100 <<親シェル.bat>>より上記子シェルをCallして正常/異常時にログファイルへメッセージを出力しようと思っています。 下記のように書いても正常/異常終了と関係なくログファイルへの出力はされませんでした。子シェルの実行自体はされてます。。 call 子シェル.bat IF %ERRORLEVEL% EQU 0 echo "OK" >>%logfile% 2>&1 IF %ERRORLEVEL% NEQ 0 echo "NG" >>%logfile% 2>&1 何が原因なのでしょうか・・・

  • WindowsXP コマンドプロンプト BATプログラム

    WindowsXPのコマンドプロンプトでBATプログラムを作っているのですが、Echoコマンドで文字を表示するときに、色を指定することはできますでしょうか? 昔、MS-DOSで作ったときは、ESCシーケンスコードで指定していたように記憶があるのですが。 お願いいたします。 

  • powershellでの改行方法について

    テキストファイルの特定の文字列の後の改行コードをカンマに変換するbatファイルを作成しようと思っているのですがうまくいきません。 DOSで用意されているコマンドだけでは実現は難しいと思って、powershellコマンドを使っています。 実現は一つのbatファイルで行いたいのですが、どなたか実現方法を知っていましたら教えていただけませんでしょうか。 [JIKKO.bat] powershell.exe "$(Get-Content TEST.txt) -replace '★`n',','" >TEST_RESULT.txt [TEST.txt] あああ,いいい,ううう★ えええ かかか,ききき,くくく★ けけけ [TEST_RESULT.txtの理想] あああ,いいい,ううう,えええ かかか,ききき,くくく,けけけ

  • DOSで文字に着色

    colorコマンドで、プロンプト画面の文字と背景に着色は出来ますが、 -------- sample.bat -------- color 0b echo 画面の色を変更しました。 ---------------------------- 特定の文字列(行)のみを指定した色にする事は可能でしょうか? 例えば、 -------- sample.bat -------- echo ここに注目 echo ここは平文 ---------------------------- とある場合に、「ここに注目」のみを赤色に表示したい場合は、 どのようにすれば良いのでしょうか?(もし可能ならば) windows 2000 sp2

  • cshの条件式について教えてください

    cshで該当ディレクトリにファイルがなければOK、あればエラーというような処理をしようと思っています。 しかし、下記のような記述ではうまくできません。 1) *************************** if ( -e $DIR/*.* ) then echo "NG" exit 1 else echo "OK" endif exit 0 *************************** if文でなく、外にだせばうまくいくのですが... 2) *************************** test -e $DIR/*.* if($status == 0) then echo "NG" exit 1 else echo "OK" endif exit 0 **************************** if ( test -e $DIR/*.* ) then... でもだめでした。 どうにかしてif文で一発判定をしたいと思っているのですが、正しい記述方法を教えてください。 よろしくお願いします。