- 締切済み
コマンドプロンプトでバッチをつくりたいです
こんにちは。コマンドプロンプト初心者です。 一通り調べたのですが諸事情により時間がないため、 ご存知の方、どうが教えてください。 ファイルをある特定のフォルダ下にコピーするのですが、 パラメータによってコピー元のファイルを変えたいです。 引数を渡すことができません。 ---------------------------------------------- 【コード】 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 ---------------------------------------------- 実は、一番やりたい事は、バッチファイル起動時に ダイアログボックスを表示し、そこにパラメータを入れて 渡すことができたら最高なのですが。 よろしくお願いいたします。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- K6A
- ベストアンサー率35% (59/164)
この内容だとわざわざバッチを書かなくともcopyコマンドだけで済むのではないでしょうか? >実は、一番やりたい事は、バッチファイル起動時に >ダイアログボックスを表示し、そこにパラメータを入れて >渡すことができたら最高なのですが。 GUIで使いたいのならファイルコピー用のツールで用途に合ったものがありそうな気がしますし、PC操作に慣れた人だとエクスプローラで普通にコピーしてしまってもいいんじゃないかと・・・ http://www.vector.co.jp/vpack/filearea/winnt/util/file/copy/
- auty
- ベストアンサー率58% (284/486)
ディレクトリ名のみ(最初の\は入れません。)を起動時に入力することにして、とりあえず作って見ました。 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 -------------------------------------------------------------------------------------- 特定のフォルダの部分を変えてみてください。
- Hayashi_Trek
- ベストアンサー率44% (366/818)
バッチを起動した後に入力したい場合は SETコマンドを使って出来ます。(Windows XPの場合) 入力した値を変数Kに入れるサンプルです。 【コード】 :入力 SET /P K=1または2を入力> IF %K%==1 GOTO 処理1 IF %K%==2 GOTO 処理2 GOTO 入力
- HARAHOROHI
- ベストアンサー率20% (47/229)
こんにちわ。 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)
PowerShellを導入すれば可能です。 (この場合はPowerShellで動くバッチを作ることになります)
- shimix
- ベストアンサー率54% (865/1590)
>実は、一番やりたい事は、バッチファイル起動時に >ダイアログボックスを表示し、(snip) CUIのバッチファイルでは無理です。GUIを使いたければWSHとかVBSとかvectorでバッチ用ユーティリティを探すとか・・ http://www.vector.co.jp/vpack/filearea/win/util/bat/