web-dev-qa-db-ja.com

xCopyを使用して、ルートフォルダー名とすべてのファイルを含むフォルダー構造全体を作成する

xCopyの質問に対するかなりの数の解決策を検討し、多くの異なる方法を試しました。 (さまざまなワイルドカード、\で終わるパス、さまざまな組み合わせのさまざまなxcopyスイッチ。)

xCopy c:\Public  d:\MyNewDir\

完了したら、すべてのファイル、フォルダ、サブフォルダなどをすべて含む「パブリック」というフォルダを宛先に含める必要があります。

結果は次のようになります。

d:\MyNewDir\Public\(and everything inside it)

このようではありません:

d:\MyNewDir\(everything inside Public)

それはとても簡単に聞こえます。代わりに、作成された「パブリック」フォルダは表示されません。 「Public」内にすべてを作成するだけですが、「Public」自体は作成しません。 (コピーするフォルダがたくさんあるので、手動で個別にフォルダを作成したくありません。)

XCopyとWindows 7のみを使用してこの単純な問題の解決策はありますか?

8
LindaBB

「公開」という名前のフォルダを宛先に含める必要があります

すべてのファイル、フォルダ、サブフォルダ、すべてを含みます。

次のコマンドを使用します。

xcopy c:\Public\* d:\MyNewDir\Public /s /i
  • /s-フォルダとサブフォルダをコピーします

  • /i-疑わしい場合は常に、宛先がフォルダであると想定してください。宛先が存在しない場合。


参考文献

6
DavidPostill

まず、フォルダー構造をファイルに列挙します。

dir /ad /b /s C:\ > D:\windir.txt

2番目に、メモ帳でD:\windir.txtを開き、すべてのC:\をnullに置き換えます。ファイルを保存

3番目に、forコマンドを使用してwindir.txtを再帰的に実行し、各ディレクトリのディレクトリ構造とファイルをコピーします。

for /f "delims=;" %a in (D:\windir.txt) do xcopy "C:\%a" "D:\MyNewDir\%a" /c /i /g /h /k /o /x /j /b /y

コピーされているディレクトリやファイルを表示したくない場合は、/qを追加できます。私は正のフィードバックが好きです。

1
Mark E Rohrer