web-dev-qa-db-ja.com

ファイルをコピーするためのWindowsコマンドラインコマンドとは何ですか?

ファイルをコピーするためのWindowsコマンドプロンプトコマンドとは何ですか?

ファイルを場所Aから場所Bに移動する必要があります。また、場所Bのフォルダーが存在しない場合は、作成します。

自動化できるように、これをコマンドラインにする必要があります。

WindowsのバージョンはXPです。

35
David Basarab

コマンドxcopyは、探しているものです。例:

xcopy source destination /E /C /H /R /K /O /Y

上記のコマンドは、ソースを宛先にコピーし、ファイルとディレクトリ(空のものを含む)、エラーで停止せず、隠しファイルとシステムファイルをコピーし、読み取り専用ファイルを上書きし、属性と所有権/ ACL情報を保持し、既存の宛先ファイルを上書きするように要求する。

/E    Copies directories and subdirectories, including empty ones.
      Same as /S /E. May be used to modify /T.
/C    Continues copying even if errors occur.
/H    Copies hidden and system files also.
/R    Overwrites read-only files.
/K    Copies attributes. Normal Xcopy will reset read-only attributes.
/O    Copies file ownership and ACL information.
/Y    Suppresses prompting to confirm you want to overwrite an
      existing destination file.

詳細については、xcopy /?とコマンドラインを入力してください。

47
user1797

使用する md フォルダを作成します(すでに存在する場合は問題ありません)

使用する 写す または 動く ファイル、および xcopy フォルダ用

8
Dani

バッチファイルで:

if not exists locationB\nul mkdir locationB
copy locationA\file locationB

if not existsは、パラメーターが存在するかどうかを確認しますが、ファイルに対してのみ機能します。 directoryの存在を確認するには、「nul」という「疑似ファイル」を探す必要があります。このファイルの存在を確認すると、ディレクトリが存在する場合は常にtrueが返されます。

コピー行は、ディレクトリfilelocationAというファイルをlocationBにコピーし、ファイルに同じ名前を付けます。同時にファイルの名前を変更したい場合は、次のようにすることもできます。

copy locationA\file locationB\newfilename
2
Graeme Perrow

コピーと他の高度な機能を同期する機能が必要な場合(特定のフォルダーを無視し、特定のワイルドカードのみを含める)、robocopyを確認します。 Vista以降に含まれており、以前のバージョンではオプション(リソースキットツールから)です。

2
Richard

バックアップスクリプトを作成する場合は、ROBOCOPYを使用します。 xcopyは廃止されており、近い将来使用されなくなる可能性があります。 robocopyは、xcopyが実行できるすべてのことを実行できます。また、より柔軟で信頼性が高くなります。 robocopyを使用してスクリプトを作成すると、スクリプトの将来性が保証されます。


  1. Robocopyを使用して、フォルダーを簡単にコピーします。 robocopyコマンドは、xcopyコマンドを置き換えます。内容の定義を気にすることなく、フォルダ全体をすばやくコピーできます。たとえば、C:\ toolsディレクトリのすべてのコンテンツを新しいフォルダD:\ backup\toolsにコピーするには、次のように入力します。

    robocopy C:\tools D:\backup\tools /e
    

    / e修飾子は、すべてのサブディレクトリを含めるようにrobocopyに指示します。これには空のフォルダーが含まれます。 robocopyは隠しファイルとシステムファイルを自動的にコピーします。ターゲットの場所に存在しない場合は、新しいディレクトリが作成されます。

  2. ディレクトリをミラーリングします。ディレクトリのミラーリングは、バックアップの作成に最適です。 robocopyのミラーオプションは、すべてのコンテンツをソースから宛先にコピーします。次に、ソースに存在しないものを宛先で削除します。これにより、バックアップに最新バージョンのファイルのみが含まれるようになります。たとえば、C:\ Users\My DocumentsをD:\ backup\My Documentsにミラーリングするには、次のように入力します。[4]

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /mir
    

    この関数は、元のファイルのすべての権限を保持します。

  3. 再起動を有効にします。コピーの途中で接続が切断された場合にプロセスを再起動する機能を含めることができます。

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /z
    
  4. コピープロセスをログに記録します。 robocopyを使用すると、ログファイルを作成できます。これは、問題を特定したり、コピーされたもののアーカイブを生成したりするのに役立ちます。

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /log+:<filename>.txt
    

    / log +修飾子は、既存のログファイルを上書きするのではなく、追加します。古いログファイルを上書きするだけの場合は、/ log:.txtを使用します。

2
Program-Me-Rev

xcopyがディレクトリ構造を作成します。トリックは、/ Iオプションを使用し、ファイル名の最後にアスタリスクをスローして、xcopyが複数のファイルをコピーしていると認識します。それ以外の場合は、ターゲット名が目的のファイル名か目的のディレクトリ名かを尋ねます。例えば。

xcopy /I c:\<SourceDir>\<SourceFile> c:\<TargetDirThatDoesNOTExist>

RoboCopyも調べますが、VistaまではWindowsにはないため、リソースキットから入手する必要があります。

0
WaldenL