• ベストアンサー

コマンドプロンプトに詳しい方

複数のファイルを一度に移動したいのですが可能ですか? move A.exe B.exe (移動先) このスクリプトではエラーとなりました。 *.exeでは移動したくないファイルまで移動してしまうので駄目です。 del A.exe B.exe だとエラーは起きず、希望のファイルだけ消すことはできました。 削除は可能なのに移動やコピーは不可なのでしょうか? 環境はXPでした。 よろしくお願いします

noname#218001
noname#218001

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

  • ベストアンサー
回答No.1

  move A.exe,B.exe (移動先) こうしましょう  

noname#218001
質問者

お礼

ありがとうございました

その他の回答 (6)

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.7

>複数のファイルを一度に移動したいのですが可能ですか? MS-DOSとWindows NT系のコマンドプロンプトは異なるものです。 MS-DOSでは複数のファイルをカンマで接続して1回のMOVEで移動できますが、Windows NT系のコマンドプロンプトでは1回に1ファイルしか指定できません。 但し、?や*のワイルドカードを使用して複数ファイルを指定することは可能のようです。 Windows 9x系のOSではMS-DOSが基盤になっていますので、「スタート」→「プログラム」→「MS-DOS プロンプト」で所謂DOS窓が開きますが、これは明らかにMS-DOSそのものです。 従って、Windows 9x系の「MS-DOS プロンプト」では1回のMOVEコマンドで複数のファイルを移動することができるはずです。 Windows NT系のコマンドプロンプトのヘルプ機能はMS-DOSのヘルプを転用していると思われますので修正漏れと推測します。

noname#218001
質問者

お礼

ありがとうございました

  • vaidurya
  • ベストアンサー率45% (2714/5983)
回答No.6

単独のコマンドとしてはできません。 条件によっては、簡略化する手段はありますが バッチファイルなどでうまくやる必要があるかもしれません。 実際にあA.exeとB.exeが対象で、ほかにあるファイルが AA.exeやBB.exeであれば move ?.exe (移動先)で行けるような気がします。 移動先が決まっているなら そういったコマンドを用意してもいいでしょう。 MS-DOSの全盛期には、そういった問題に対しては 出射氏のFDなどのファイル管理ユーティリティを用いていました。 それがWindows95以降のLFNが一般化したあと どうなっていったかは知りません。 ともかく、コマンドラインでのファイル操作は、正規表現と スクリプト処理で対処できない部分は こういったソフトで補わないと、それなりに無理が出てきます。 (cmd.exeでの正規表現の扱いは知りません。PowerShellへの移行を検討してもいいのかもしれません) よく、CLIとGUIの対比を CUIとGUIの対比として書かれることがありますが 実際にはCLIでは無いCUIソフトウェアも重視される場合があります。 Linux系OSではFDを模倣したfdcloneが今でも使われています。 ただし、動作速度等には不満が出ることがあるようです。 その原因がどこにあるのかは知りませんし 私自身は、ほとんど使っていませんけどね。 余談ですが、コマンドプロンプトとはコンピューター用語としては CLIにおいて、入力を促す(入力待ちを示す)文字列を指します。 Windowsではなぜか、CLIを提供するcmd.exeのことをコマンドプロンプトと呼び コマンドプロンプトのことをプロンプトと呼んだりする珍奇な風習があります。 (MS-DOS時代には、コマンドプロンプトという言葉にそんな意味は無かったんですけどね) cmd.exeは、MS-DOSより古い、1970年代からあるUNIX等のCLI環境に比べると 進化が異常に遅く、制限が多く、機能的に原始的なもので在り続けて来ました。 反面、Windows Serverではサーバー特有のCLIからの管理作業などを想定して コマンドラインで行える作業は大幅に拡充が薦められてきました。 現在では、Windows PowerShellが、オプショナルなCLIシェルとして用意されています。 https://ja.wikipedia.org/wiki/Windows_PowerShell 正規表現とは、複数のファイル名や文字列などをまとめて指定したり 通常のコマンドラインで使えない記号などを扱うために使われる表記方法のことです。 文字列処理では、行頭や行末を指定した書式だけでも非常に役立ちます。 ワイルドカードとして知られるアスタリスクも、正規表現の一種ですが MS-DOSおよびcmd.exeでは正規表現の利用は整備されていなかったと認識しています。 https://ja.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE 私自身は、不定のファイル名の大量のファイルを一括処理する場合は (複雑なスクリプトを書くと、そのバグが怖いので) テキストエディターで行頭指定と行末指定を使い 一括して、前後にコマンドやオプションや移動先などを付け足して 順次処理するだけのスクリプトにして実行したりします。 たとえば、a.tsをa.aviに変換したら DIR *.avi>削除.batして 削除.batをテキストエディターで開いて 行頭にmove を、末尾に移動先ディレクトリーを付けて移動させたりできますし .行頭にdeleteを付けて、avi(行末)を.tsに変換して 自動的に、aviファイルに変換済のtsだけを削除するような運用ができます。 実際には、それをLinux系OSでやっているので mvとかrmといったコマンドを使っていますけどね。

noname#218001
質問者

お礼

ありがとうございました

  • -9L9-
  • ベストアンサー率44% (1088/2422)
回答No.5

コマンドプロンプトのコマンドの使い方がわからなければ「/?」オプションで使用法(文法)が表示されます。 move /? とすればMOVEコマンドの解説が表示されます。まずはそれを確認してください。 その解説にあるとおり、MOVEコマンドにおいては、引数が二つの場合、先の引数のファイル名を後の引数に名称変更するというコマンド(命令)になります。したがって、 move A.exe B.exe と打てば、A.exeという名前のファイルをB.exeという名前に変更する指示なのであり、MOVEコマンドには引数3つ(またはそれ以上)という文法はありませんので、その後にさらに移動先フォルダ名を打ったら間違った文法ですからエラーになるのは当然です。

noname#218001
質問者

お礼

ありがとうございました

  • ts0472
  • ベストアンサー率40% (4307/10632)
回答No.4

OSに搭載されているDOSバージョンによってさまざまなようですね 下記URLのMOVEを参照 http://www.x-net.nu/technical/win_com/t_win_com-f_d.html#10 Me/98/95は複数ファイル名の指定が可能であったが 現在は1つのファイルしか移動できない エクスプローラーの方が簡単 書式を間違えるとファイル名変更 削除されてしまったのかも知れませんね という事で XPから複数ファイルの指定は無効になっている

noname#218001
質問者

お礼

ありがとうございました

  • Pcworks
  • ベストアンサー率35% (64/179)
回答No.3

>コマンドプロンプトに詳しい方 コマンドプロンプトはMSDOSの入力待ち状態を指すので”MSDOSに詳しい方”が適切な表現と感じます。 以下にMSDOSのコマンド一覧表があります http://www.geocities.co.jp/SiliconValley-PaloAlto/2099/ms-dos.html >move A.exe B.exe (移動先) move A.exe 移動場所(例えばD:\)となりA.exeをB.exeに移動はできないのでエラーになります。 >del A.exe B.exe これは単純にA.exeとB.exeをdel(消す)ことなので実行されます。 >削除は可能なのに移動やコピーは不可なのでしょうか? 使い方が違っているので移動やコピーはできますがMSDOSでWindowsのファイルを扱う場合ディレクトリーが違うとpathの指定が問題になります、Windowsで扱ったほうが安全で確実の確率が高いです。 MSDOSは基本的なオペレイションシステムでWindowsの土台のようなものですのでdelコマンドで消せば元には戻せませんある程度の知識を身に着けて扱うことを薦めます。

noname#218001
質問者

お礼

ありがとうございました

  • kamikami30
  • ベストアンサー率24% (812/3335)
回答No.2

特に詳しくはありません。 moveとdelは違うコマンドなんだから、使い方も違うのが当たり前です。 知らないものをちょっと知ったくらいで、すぐに同じものと考えるのはやめましょう。 コマンドラインの引数は、順序に意味があります。 moveなら どこからどこへと言うのが基本です。 そのコマンドのヘルプを見ても良いですが、そのコマンドを検索すれば、オプションに加えて実例の説明まで書いてあるサイトがわんさかあります。 私は知っていてあなたは知らない。 私も最初は知りませんでしたが、知るようになったのは調べたからです。 とりあえず、ものすごく簡単に見つかるので、まずは調べて下さい。

noname#218001
質問者

お礼

ありがとうございました

関連するQ&A

  • コマンドプロンプトで

    コマンドプロンプトで AフォルダとBフォルダがあるとします。Aフォルダ内のCファイル以外のファイルをBフォルダに移動する(move?)ということはできますでしょうか? 初歩的な質問かも知れませんがよろしくお願いします。

  • コマンドプロンプトについて教えてください。

    コマンドプロンプトについて教えてください。 Msiexec.exe実行でのプログラムのアンインストール ↓ REG DELETEでレジストリの削除 ↓ CDでインストール対象のEXEファイルがあるところに移動してEXE実行 という一連の流れを1つのバッチファイルにしたいのですが、処理終了(インストールされていることを確認)すると、なぜか真ん中の処理のレジストリーキーの削除ができてません。 /fオプションで強制削除をつけているはずなのですが…ちなみに、単独で上から実行すると正しくレジストリーキーは削除されております。 何が原因か色々調べましたが、わかりません。処理の間に何か構文が必要なのでしょうか? なるべくバッチファイルの数を少なくしたいのですが、上記の3つの流れを満たすにはどうすればよいですか? 試しに一番最初のアンインストールの部分を、 Start /w Msiexec.exe~でやってみたのですが、それでもREGdeleteで消したいレジストリーキーはレジストリエディタで確認すると残ってました…

  • mvコマンド

    ハードディスクがA,Bと2つあります. BをAにマウントして,AにあるディレクトリをBにmvコマンドで移動しようとしたんですけど, 一部うまくいかないことがあり, エラーとして"inter-device move failed"このようなエラーが出ました. エラーが出ない場合と,出る場合の2通りあって 特殊なファイルがあるというわけではないと思うのですが,いったい何がもんだいなのでしょうか? 移動したあとになにか問題が起きることがあるのでしょうか? よろしくお願いします.

  • コマンドプロンプトのフォルダコピーについて

    フォルダを特定の場所へコピー後、 コピー元のフォルダの直下のフォルダ又はファイル類をすべて削除したいと考えています。 MOVEを使うと、元フォルダも消えてしまうので、どのようにBATを作成したらよいか悩んでいます。 MOVE後、MDでフォルダの再作成しかないのでしょうか。

  • コマンドプロンプトでごみ箱へファイルを移動させるにはどうすればよいのでしょうか?

    ファイルの削除はdelでできますが、コマンドプロンプトでごみ箱へ ファイルを移動させるにはどうすればよいのでしょうか? 使用OS:Windows XP ご存知の方がおられましたらご回答をよろしくお願いします。

  • コマンドプロンプトのfor文での連続コマンドについて

    コマンドプロンプトのfor文での連続コマンドについて winXPを使っています。 コマンドプロンプトでバッチファイルを作り、フォルダーの中にあるPDFファイルをアドビリーダーで印刷して削除したいのですが、アドビリーダーを手動で終了させないとファイルの削除ができません。どうすればいいでしょうか。 *****printpdf.batの内容**************** for %%A in (E:\pdf\*.*) do ( "C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe" /t %%A taskkill /F /IM AcroRd32.exe Del %%A ) *************************************** 3行目のtaskkillが問題らしいのですが。。。 また、本当はコマンドを&&でつなげたいのですが、 ( )でくくらないとDELされません。 &&でつなげるにはどうしたらいいか、 その点もおわかりでしたらご教授ください。 よろしくお願いします。

  • コマンドプロンプト

    バッチファイルとタスクスケジューラを利用して Windowsファイアウォールのアクセスログを 毎日差分バックアップをとるようにしようと考えています。 しかし、Windowsファイアウォールの生成するログファイルは Windowsファイアウォールがプロセスを掴んでいるようで コピーはできても削除をすることができません。 (当然同じ理由でmoveもダメでした) ファイアウォールのプロセスを切るわけにもいかずに少し頭を悩ませています。 何か良い方法がございましたらご教示ください。 ただし、当方の都合によりパーソナルファイアウォールは Windowsファイアウォール以外を利用することができません。 予めご了承頂いた上でご回答頂きたいと思います。 以上、よろしくお願いします。

  • コマンドプロンプトでの削除

    D:\aaaaa このフォルダ内に複数のフォルダとファイルがあります。 aaaaaフォルダは残して、中のフォルダとファイルを全て削除したいです。 del /f/s/q D:\aaaaa\* だとファイルしか削除されません。 rd /s/q D:\aaaaa\ だとaaaaaフォルダごと削除されてしまいます。 aaaaaフォルダ内のフォルダは決まったフォルダではなく実行ごとに名前の違うフォルダがあります。 名前を指定してのフォルダ削除ではなく、aaaaa内の全てのフォルダとファイルを 削除するにはどうしたら良いでしょうか?

  • コマンドプロンプトでDiskcopy

    起動フロッピーディスクを複数枚コピーしたいの ですがDiskcopyコマンドを使用すると1枚作成する たびにコピー元を読ませる必要があります。 XP以前のOSではコピー元は1度読ませるだけで連続 してコピーファイルが作れたと思うのですがその ような方法はないでしょうか? やりたいこと: 起動フロッピーディスクをコピーするのに1度だけ読 ませて数十枚のコピーを作成したい。 環境:Windows XP Pro よろしくお願いします。

  • WindowsXPでコマンドを使用して任意のファイルをゴミ箱に移動する方法を教えてください。

    WindowsXPで特定のフォルダに格納されているファイルをログインの タイミングで、(ログインスクリプト等で処理したい)ゴミ箱に移動 したいのですが、Moveコマンドを利用する場合でもゴミ箱のパス等も 分からず、困っています。 普通に手動で削除処理を行えば、ファイルはゴミ箱に移動され、 ごみ箱内に移動されますが、コマンド(Del)から実行すると、 ゴミ箱にも移動されず、そのまま削除されてしまいます。 何か良い方法ありませんか。 宜しくお願い致します。