フォルダーではなくrobocopy転送ファイル


99

1 robocopyつのファイルをある場所から別の場所に転送するために使用しようとしていますが、robocopy常にフォルダーを指定していると考えているようです。以下に例を示します。

robocopy "c:\transfer_this.txt" "z:\transferred.txt"

しかし、代わりにこのエラーが表示されます:

2009/08/11 15:21:57 ERROR 123 (0x0000007B) Accessing Source Directory c:\transfer_this.txt\

\の終わりに注意してくださいtransfer_this.txt

しかし、フォルダ全体のように扱う場合:

robocopy "c:\folder" "z:\folder"

それは動作しますが、フォルダ内のすべてを転送する必要があります。

単一のファイルのみを転送するにはどうすればよいrobocopyですか?


def copyFile(fromLocation,toLocation,big=False): print("copy file from " + fromLocation + " to " + toLocation) if big: iFind=fromLocation.rfind('\\') fromLocation1 = fromLocation[: (iFind+1)] fileName=fromLocation[iFind+1 :] toLocation1 = toLocation[:(toLocation.rfind('\\')+1)] strcmd="robocopy "+fromLocation1+" "+toLocation1+" "+fileName print(strcmd) os.system(strcmd) else: shutil.copy2(fromLocation,toLocation)
ガンク

回答:


129

見る: Robocopy /?

使用法:ROBOCOPYソース宛先[ファイル[ファイル] ...] [オプション]

robocopy c:\folder d:\folder transfer_this.txt

fwiw、少なくともwin2003では、ディレクトリパスを引用することで問題が発生するようです。
サムスミス

1
@samsmith最後の引用符の前に\があるとしゃっくりを見ました(つまり:ROBOCOPY "c:\ folder1 \" c:\ folder2ファイルは機能しませんが、ROBOCOPY "c:\ folder1" c:\ folder2 。ファイルには、私はそれがテキストエスケープことだ期待していない
マイクGoatly

1
@MikeGoatly素晴らしい点。Robocopyは、末尾の\が好きではありません。ディレクトリに「名前」という名前を付けて、ディレクトリ以外のものを受け入れることを暗示したくない。
サムスミス

19

Robocopyに関するWikipediaの記事によると

ファイルコピーではなく、フォルダコピー

Robocopy構文は、ソース引数と宛先引数としてフォルダー名のみを受け入れるため、標準のコピーコマンドとは著しく異なります。ファイル名とワイルドカード文字(など*.*は、有効なソースまたは宛先の引数ではありません。オプションのfilespecフィルタリング引数を使用して、ファイルを選択または除外できます。Filespecsは、コピー用にすでに選択されているフォルダーに関連するファイル名のみを参照できます。完全修飾パス名はサポートされていません。

たとえば、ファイルをコピーするためにfoo.txtディレクトリからc:\barc:\baz、1次の構文を使用できます。

robocopy c:\bar c:\baz foo.txt


私が気づいた一つのこと。C:\ barにフォルダーがあり、オプション/ eが追加されている場合。ファイルを含まないすべてのフォルダーを再作成します。foo.txtはフィルターのように機能し、それらのフォルダー内のファイルや空のフォルダーを見つけることができなかったためだと思います。それが空のフォルダーが作成される理由です。
ドニーV

1

次のように、宛先の前にスペースを挿入してみてください。

robocopy "c:\transfer_this.txt" "z: \this.txt" 

宛先 "folder"の後のスペースに注意してくださいz:


3
これはうまくいきませんでした。@ KPWINCの指示に従い、ソースパスからファイル名を除外する必要がありました。
流入

3
これはトロールの答えですか?試してみましたが、動作しません(動作しているように見えません)。
16

-4

robocopy Q:\ F:\ Dopbox "Microsoft Office.zip" / MT:128


Robocopyソース宛先ファイル名
デール

6
説明のないコマンドは有用な答えではありません。
カスペルド
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.