1
현재 전송중인 현재 파일의 비율을 추적하는 작동하는 Robo Copy 기능이 있습니다. 나는 파일의 수를 추적하려고 노력했다. 예를 들어, 10/50 파일이 전송되었다. Trevor Sullivan의 진행 방법을 시도했지만 스크립트로는 작동하지 않습니다.PowerShell Robo 파일 전송 진행 복사
Function global:music_Transfer{
if($WPFmusic_checkBox.IsChecked -eq $true){
$quotation = ":"
$source = "$DLetter$quotation\Users\$associd\Music"
$destination = "C:\Users\$env:USERNAME\Music"
$copy = "/COPY:DTO"
$files = "*.*"
$backup = "/B"
$reportextrafiles = "/X"
$verboseoutput = "V"
$fullpathname = "FP"
$mirror = "/MIR"
$backupmode = "/ZB"
$subfolders = "/E"
$Retries = "/R:2"
$consolewrite = "/TEE"
robocopy.exe $source $destination $files $backup $reportextrafiles $verboseoutput $fullpathname $mirror $backupmode $subfolders $Retries $consolewrite | ForEach-Object -Process {
$data = $_.Split([char]9);
if (($data.Count -gt 4) -and ("$($data[4])" -ne ""))
{
$file = "$($data[4])"
Write-Progress "Percentage $($data[0])" -Activity "Music" -CurrentOperation "$($file)" -ErrorAction SilentlyContinue;
}
else
{
Write-Progress "Percentage $($data[0])" -Activity "Music" -CurrentOperation "$($file)"
}
}
# Robocopy has a bitmask set of exit codes, so only complain about failures:
[int] $exitCode = $global:LastExitCode;
[int] $someCopyErrors = $exitCode -band 8;
[int] $seriousError = $exitCode -band 16;
if (($someCopyErrors -ne 0) -or ($seriousError -ne 0))
{
Write-Error "ERROR: robocopy failed with a non-successful exit code: $exitCode"
}
}
}
그것은 전송되는 것을 추적하고 개별 파일의 진행 상황,하지만 총 파일 : 여기
는 세그먼트입니다. 어떤 도움을 주시면 감사하겠습니다. 감사.
작동 할 수 있지만 그것은 오류를 반환 또는 오른쪽으로 파일을 계산하지 유지되지. 다른 아이디어? –
'$ files ='를 다음과 같이 바꾸어보십시오 :'$ files = dir $ source -recurse -file' –
그게 고정되어있는 것 같아요. "null이 아니기 때문에 매개 변수 'Activity'를 바인드 할 수 없습니까? –