• ベストアンサー

バッチの引数をユーザ入力で渡す場合について

初歩的な質問で申し訳ありません。 下記のような仕組みのバッチを作成しようとしています。 1.バッチ起動 2.ユーザに、「ユーザID」を入力させる 3.その入力内容を 例】C:\ユーザID\ のようにセットし、そのフォルダの存在確認をし、なければ作成する この、2.、3.がうまく作れません。 どなたかご教授くださいませ。 よろしくお願いします。

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

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

手直しは必要でしょうが、以下のような感じでどうですか。 SET /P USERID="ユーザーID:" IF NOT EXIST C:\%USERID% MD C:\%USERID%

camo-tech
質問者

お礼

ご回答ありがとうございました。 無事、解決いたしました。 バッチ(コマンドプロンプト)は奥が深いですね! また、よろしくお願いします。

関連するQ&A

  • バッチからファイル作成をするときに困っています

    リダイレクトで、バッチからファイルを作っています。 部分的ですが、元のバッチは下記のようなバッチです。 ECHO SET /P U-ID="社員番号:" >AA.BAT ECHO net user %U-ID% >>AA.BAT できたファイルで、社員番号をユーザに入力させ、net user で表示させるものです。 ただ、これを実行すると、下記のようなファイル内容になってしまいます。 SET /P U-ID="社員番号:" >AA.BAT net user >>AA.BAT (%U-ID%の部分が消えてしまう) これを回避し、作成したファイル内容が SET /P U-ID="社員番号:" >AA.BAT net user %U-ID% >>AA.BAT となるようにする方法はありませんでしょうか? 知識不足で申し訳ないですが、回避策が見つかりませんでしたので、ご教授願えれば幸いです。 よろしくお願いします。

  • バッチファイルで同じフォルダ名がある場合

    バッチファイルで下記のように実行後にフォルダ名を指定して フォルダを作成したいのですが既に同じフォルダ名があった場合 同じフィルだがある旨のメッセージを表示するのとそこでバッチファイルを 終了してよいか?というようなバッチファイルを作成したいのですが バッチファイルコマンドプロンプトの知識があまりありません。 どなたか教えてください。 echo off set /p USER_INPUT=フォルダ名を入れてください。: mkdir %USER_INPUT%

  • DOS:バッチファイルでユーザーの入力を変数に入力

    こんにちは。 基礎の基礎かもしれませんが、すみません教えてください。 Win2000でバッチファイルを使って処理しようと思うのですが・・・ バッチファイルを起動して、まず「XXを入力してください」とメッセージを出し、ユーザーがタイプして、その文字列を変数に入れて処理したいのですが。 宜しくお願いします。

  • windowsのバッチ作成

    バッチ初心者ですが、質問させてください。 windowsで、下記のバッチを作成しようとしていますが、 うまくいきません。 既存のフォルダは下記の通りです。 c:\test\1 c:\test\2 c:\test\3 この1,2,3のフォルダの1階層下に、それぞれ新規で c:\test\1\1_tmp c:\test\2\2_tmp c:\test\3\3_tmp という、1階層上のフォルダ名に_tmpを付加した フォルダをそれぞれ作成したいのですが、 変数のセットがうまくいきません。 恐らくforでやればよいのかな、というところまでしかわかりません。 どなたかお手数ですが、ご教授願います。

  • フォルダ作成用バッチファイル:スペースを含む名対策について

    対話形式で、任意の名前のフォルダを作成するためのバッチとして、過去質問から下記記述を参考に応用を考えております。 echo off set /p USER_INPUT=フォルダ名を入れてください。: mkdir %USER_INPUT% しかしながら、スペースを含む名前を入力すると、でご想像どおりスペース前後の文字列で複数のフォルダが作成されます。これを回避するために下記のような方法を記述できますでしょうか?勉強不足で恐縮ですが、ご教授下さい。OSはWindows X提です。 1.スペースを含めた名前でもそのままフォルダが作成できる 2.スペースを含めた名前を入力するとエラーメッセージを表示し再入力させる 3.スペースを別文字(-ハイフンもしくは _アンダーバー)に自動的に変換する

  • エクセル VBA バッチが動かない。

    以下のVBAを試行錯誤の末(未熟なもので・・) 作ってみました。 デスクトップ上のフォルダを確認にて、存在する場合はそのままバッチ実行、 存在しない場合はフォルダを作成してバッチ実行。 というものなのですが、フォルダが存在する場合はすんなり行くのですが、 存在しない場合、フォルダを作成した後、バッチ処理がされなくて 困っています。どこが悪いのでしょうか? 是非ご教授お願いいたします。 ちなみにバッチはXCOPYです。 Sub SET_Original() Dim strPATHNAME As String strPATHNAME = "C:\Documents and Settings\ユーザー\デスクトップ\フォルダ" If StrConv(strPATHNAME, vbUpperCase) = "FALSE" Then Exit Sub If Dir(strPATHNAME, vbDirectory) = "" Then MsgBox "フォルダは作成します。", vbExclamation MkDir "C:\Documents and Settings\ユーザー\デスクトップ\フォルダ" Exit Sub End If Dim str As Variant str = Shell("c:\Documents and Settings\ユーザー\デスクトップ\copy.bat") End Sub

  • コピーバッチの作成について。

    コピーバッチの作成について。 現在フォルダのコピーバッチを作成しようと考えています。 ただ、未熟なもので、なかなか難しく、できればご教授していただければと思い、 投稿させていただきました。 尚、現在作成したいコピーバッチは下記となっています。 1. テストPC01に不定期に配置されるフォルダを、テストPC02上にコピーする。 (フォルダ名はTEST20100919という形で、TESTのみ固定で日付が毎回変動する) 1.5 フォルダがない場合はバッチファイル終了。 2. コピー後に、テストPC02の特定のサービスを停止する。 3. テストPC02にコピーした、TEST20100919をTESTにリネームする。 4. 2.で停止したサービスを起動する。 5. テストpc01のコピー元フォルダを削除する。 (また、上記のバッチで実行された内容をログに吐き出させたいと考えています) このような処理をバッチファイルで行うことは可能でしょうか。 可能でしたら、お手数ですがご教授願えないでしょうか。 よろしくお願いいたします。

  • フォルダのショートカットをバッチで生成したい

    度々の質問ですみません。 複数のパソコンに、同じ名前のフォルダを作成し、そのショートカットをデスクトップに作成することを、バッチで自動化したいと考えています。 バッチは、 1.フォルダの存在確認 2.なければ作成 3.そのフォルダのショートカットをデスクトップに作成 という流れです。 2.までは、拙い知識で何とかできましたが、3.ができずに困っています。 どなたかご教授いただければ幸いです。

  • バッチでリモートPCにフォルダを作成すると、隠しフォルダになってしまう

    こんにちは。 表題のとおりで、困っています。 バッチは下記のとおりです。 SET ID=%USERNAME% IF NOT EXIST \\リモートホスト名\%ID%\バックアップ MD \\リモートホスト名\%ID%\バックアップ これを実行すると、フォルダはできるのですが、なぜか隠しフォルダになってしまいます。 オプションとか、なにかつけるべきなのでしょうか? ご教授いただけると幸いです。

  • C#のモジュールからバッチファイルを起動

    C#のモジュールからバッチファイルを起動 お世話になります。 Cドライブの直下にtest.batと言うバッチファイルを作成しました。 これをC#のモジュールから起動させたいのですが、 うまく書けませんでした。 初歩的な質問で申し訳ございませんが、 どなたかご親切な方、ご教授下さいます様宜しくお願い致します。

専門家に質問してみよう