• ベストアンサー

バッチでの引数値の桁数削除

9桁の外部引数を取込、5桁にし、CSVファイルへの書き出しを模索しております。 先頭から4桁を削除してのリネームの仕方をお教え下さい。 例:123456789 → 56789   000000123 → 00123 よろしくお願いいたします。

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

  • ベストアンサー
  • OMEGAT
  • ベストアンサー率70% (455/642)
回答No.1

例えばですが、以下のようなBATファイルを作成し、TEST.BATとして保存します。 SET TMP=%1 ECHO %TMP:~4,5% コマンドプロンプトで、TEST.BAT 123456789 として起動すると 56789を表示します。

do1780
質問者

お礼

ありがとうございます。 やりたいことができました。 「:~4,5%」あたりの定義の基本が分かっておりませんでした。 本当に助かりました。

その他の回答 (1)

  • utakataXEX
  • ベストアンサー率69% (711/1018)
回答No.2

質問は「バッチの引数を桁指定で切り詰め」でよいですか? ↓ @echo off REM 引数を変数に格納 set hensu=%1 REM 1から4桁目を削除 set hensu=%hensu:~4,5% echo hensu:%hensu% ↑ これでご質問の回答には、なっていると思いますが、もし、「CSVを読み込んで、編集したCSVを吐き出す」のが目的であれば、ササっとVBScriptか何かにした方が後々、幸せになれると思います。 バッチでもFOR文を使って頑張ってできなくはないですが結構制限が多くて面倒です。

do1780
質問者

お礼

ありがとうございます。 ご指摘の通り、CSVの吐き出しまで考えております。 もう少し、バッチを勉強します! VBScript、う~ん難しそうです。

関連するQ&A