• 締切済み

バッチ処理で16進数でファイルを作成したい

バッチの質問となります。 以下の処理がしたいのですが、プログラミングが苦手でして…。 似たような質問を探したのですが見つかりませんでしたので、質問させて頂きます。 【処理】 バッチを叩くことによって、 フォルダをコピーして、そのフォルダを16進数で出力しようとしてます。、 10進数では作成できたのですが…。 以下の形にしたいです。 コピーしたいフォルダ:C:\test\copy コピー後フォルダ   :C:\test\1               C:\test\2                 ~               C:\test\f               C:\test\10                 ~               C:\test\1f 申し訳ありませんがよろしくお願い致します。

みんなの回答

  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.3

ファイルとかフォルダとかの作り方がわからないのではなく、16進でインクリメントする方法ですよね。DOSコマンドで数値として扱い16進表記をさせようとしているなら無理です。 が、以下のように行えば同様のことが擬似的に実現できます。 @echo off for %%A in (0 1 3 4 5 6 7 8 9 A B C D E F) do (  echo %%A ) pause 考えられる範囲が2桁ならループを2重に、3桁なら3重にしてください。そうすると「1」は「01」などとなってしまいますが、そこは許容してください。 @echo off for %%A in (0 1 3 4 5 6 7 8 9 A B C D E F) do (  for %%B in (0 1 3 4 5 6 7 8 9 A B C D E F) do (   echo %%A%%B  ) ) pause その他、0-Fを書いたファイルを用意してもいいし、ファイルを用意するならいっそのこと想定される値の範囲をすべて列挙してもいいでしょう。そうすれば、桁数を固定にせずとも実現はできます。

eirnewb
質問者

お礼

ご回答ありがとうございます! DOSコマンドで数値変換はできないなのですね。勉強になります。 わざわざサンプルまで書いていただきありがとうございます。 さっそく明日動かしてみます。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

「フォルダを16進数で出力する」とはどういう意味ですか? 「10進数では作成できた」というのを詳しく内容を書いてもらうと他人にも想像が付くかもしれません。

eirnewb
質問者

お礼

ご回答ありがとうございます。 そうですね!ありがとうございます。 今手元にないので、のちほど補足回答で追記致します。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

いわゆるWindows系のバッチ処理は基本機能が少なくてあまり思った通りのことができません。 wsh(vbs)などでなさるとよいと思います。

eirnewb
質問者

お礼

回答ありがとうございます。 そうですね。たしかに基本機能が少なく、四苦八苦しました…。 今回はどうしても環境上、バッチのみしかつかえなかったので質問をさせていただいております。 さっそくの回答ありがとうございます。

関連するQ&A