我刚刚安装了robocopy
因为我无法处理很多全名太长的文件。我使用this tutorial来了解robocopy
。这个网站几乎解释了我需要的一切,但即使逐行复制命令,我也无法使它工作。
我的第一个问题是教程中第一个指示的命令:
robocopy .\PowerShellScripts NULL /L /S /NJH /BYTES /FP /NC /NDL /XJ /TS /R:0 /W:0
我将.\PowerShellScripts
切换为C:
并崩溃,告诉我第6个参数(/bytes
)无效。
Simple usage :: ROBOCOPY source destination /MIR
但是我检查了其他网站,/bytes
确实存在,我需要它才能工作。顺便说一下,如果我删除它就行。
我不太了解第二个命令,但它是关于挂载点而我没有。 然后,当我启动第三个命令时:
$item = "PowerShellScripts"
$params = New-Object System.Collections.Arraylist
$params.AddRange(@("/L","/S","/NJH","/BYTES","/FP","/NC","/NDL","/TS","/XJ","/R:0","/W:0"))
$countPattern = "^\s{3}Files\s:\s+(?<Count>\d+).*"
$sizePattern = "^\s{3}Bytes\s:\s+(?<Size>\d+(?:\.?\d+)\s[a-z]?).*"
((robocopy $item NULL $params)) | ForEach {
If ($_ -match "(?<Size>\d+)\s(?<Date>\S+\s\S+)\s+(?<FullName>.*)") {
New-Object PSObject -Property @{
FullName = $matches.FullName
Size = $matches.Size
Date = [datetime]$matches.Date
}
} Else {
Write-Verbose ("{0}" -f $_)
}
}
我可以启动命令,但没有写入任何内容。有人知道吗?