• 締切済み

コマンドプロンプトでバッチをつくりたいです

こんにちは。コマンドプロンプト初心者です。 一通り調べたのですが諸事情により時間がないため、 ご存知の方、どうが教えてください。 ファイルをある特定のフォルダ下にコピーするのですが、 パラメータによってコピー元のファイルを変えたいです。 引数を渡すことができません。 ---------------------------------------------- 【コード】 IF %1%=="" GOTO ERROR IF %1%==1 GOTO 処理1 IF %1%==2 GOTO 処理2 :処理1 CD C:処理1 COPY C:処理1\parm.txt C:コピー先フォルダ :処理2 CD C:処理2 COPY C:処理2\parm.txt C:コピー先フォルダ :ERROR ---------------------------------------------- 実は、一番やりたい事は、バッチファイル起動時に ダイアログボックスを表示し、そこにパラメータを入れて 渡すことができたら最高なのですが。 よろしくお願いいたします。

みんなの回答

  • K6A
  • ベストアンサー率35% (59/164)
回答No.6

この内容だとわざわざバッチを書かなくともcopyコマンドだけで済むのではないでしょうか? >実は、一番やりたい事は、バッチファイル起動時に >ダイアログボックスを表示し、そこにパラメータを入れて >渡すことができたら最高なのですが。 GUIで使いたいのならファイルコピー用のツールで用途に合ったものがありそうな気がしますし、PC操作に慣れた人だとエクスプローラで普通にコピーしてしまってもいいんじゃないかと・・・ http://www.vector.co.jp/vpack/filearea/winnt/util/file/copy/

  • auty
  • ベストアンサー率58% (284/486)
回答No.5

ディレクトリ名のみ(最初の\は入れません。)を起動時に入力することにして、とりあえず作って見ました。 cp2.BAT -------------------------------------------------------------------------------------- : : cp2.BAT       [使用法]  cp2 [ディレクトリ名のみ] : @echo off IF "%1"=="" GOTO :ERROR set S_PATH=C:\%1\parm.txt echo %S_PATH% if not exist %S_PATH% goto :ERROR2 COPY %S_PATH% 特定のフォルダ goto :END :ERROR echo [使用法] echo cp2 [ディレクトリ名のみ] goto :END :ERROR2 echo ディレクトリ名かファイルがありません goto :END :END -------------------------------------------------------------------------------------- 特定のフォルダの部分を変えてみてください。

回答No.4

バッチを起動した後に入力したい場合は SETコマンドを使って出来ます。(Windows XPの場合) 入力した値を変数Kに入れるサンプルです。 【コード】 :入力 SET /P K=1または2を入力> IF %K%==1 GOTO 処理1 IF %K%==2 GOTO 処理2 GOTO 入力

回答No.3

こんにちわ。 http://209.85.175.104/search?q=cache:94jydl41KKoJ:smdn.invisiblefulmoon.net/index.php%3FProgramming%252FTips%252FMS-DOS%25A5%25B3%25A5%25DE%25A5%25F3%25A5%25C9%25A5%25D7%25A5%25ED%25A5%25F3%25A5%25D7%25A5%25C8Tips+%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88+%E5%BC%95%E6%95%B0+%E5%85%A5%E5%8A%9B&hl=ja&ct=clnk&cd=8&gl=jp&lr=lang_ja リンク先アドレス永杉。この一番下辺り。 %1% じゃなく %1で良いのでは? あと、「処理1」ブロックの後に何もないとそのまま「処理2」に入ります。なのでそれぞれの最後に"GOTO OWARI"で 最後の行に「:OWARI」ラベルが必要です。 Win9x時代は"CHOICE"なるコマンドがあった模様ですが、今は無いですね。 バッチファイル起動時にパラメータとして渡すしかなさそうですね。

  • HIROs-NET
  • ベストアンサー率78% (15/19)
回答No.2

PowerShellを導入すれば可能です。 (この場合はPowerShellで動くバッチを作ることになります)

参考URL:
http://codezine.jp/a/article/aid/2067.aspx
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

>実は、一番やりたい事は、バッチファイル起動時に >ダイアログボックスを表示し、(snip) CUIのバッチファイルでは無理です。GUIを使いたければWSHとかVBSとかvectorでバッチ用ユーティリティを探すとか・・   http://www.vector.co.jp/vpack/filearea/win/util/bat/

関連するQ&A