1

バッチ ファイルで XCopy を使用するのではなく、基本的なファイル コピーを実行するために、powershell スクリプトを使用してベンチマークを行うように依頼されました。ほぼ同じ時間で実行されているようですが、Powershell ではツリー構造の親フォルダーが宛先に作成されていませんが、XCopy では親フォルダーが作成されます。たとえば、

xcopy D:\Webs\First\*.* D:\Test\Sandbox\ /E

「First」フォルダーは、そのすべての内容で作成されます。一方、

$SourceFolder = "D:\\Webs\\First\\"
$TargetFolder = "D:\\Test\\Sandbox\\"

Copy-Item $SourceFolder $TargetFolder -recurse

「First」という名前のフォルダーは作成されず、内容がコピー先にコピーされます。ソース フォルダとして "Webs" を使用すると、"First" と同じレベルの他のフォルダもコピーされてしまい、望ましくありません。

スクリプト内でこのフォルダーを手動で作成せずに、Copy-Item またはその他の PowerShell コマンドを使用して親フォルダーを "最初に" コピー先にコピーするにはどうすればよいですか? まったく同じ結果が得られます。

ありがとう...

4

1 に答える 1

3

たとえば、コピーの前にソースの親フォルダーを追加する簡単な方法です。

$TargetFolder = "D:\\Test\\Sandbox\\"+($SourceFolder | Split-Path -leaf)

タイミングにMeasure-Command コマンドレットを使用することもできます

于 2012-10-31T17:02:33.187 に答える