모든 하위 디렉토리 및 파일과 함께 디렉토리에서 파일을 복사하려고합니다. 이미 알았 듯이, robocopy로 쉽게 할 수 있습니다.Powershell robocopy 오류시 파일 이름 바꾸기
robocopy $source $dest $arg $logfile_temp
내 문제는 그들이 리눅스 서버에 위치하기 때문에, 자신의 이름에 ":"
이 포함 된 소스 디렉토리에있는 일부 파일 ( 대부분 .PNG-파일)이 있다는 것을 (A를 포함입니다 타임 스탬프).
지금, 나는 또 다른 디렉토리에있는 모든 파일을 ROBOCOPY을 원하고 매번 오류 때문에 이름의 해당 ":"
의, 파일이 임시-위치에 복사해야 발생, 이름이 변경 (":"
->"."
) 목적지 디렉토리에 복사 할 수 있습니다 (기본적으로 orignial 파일은 그대로 유지됩니다). -whatif 매개 변수로
gci 'C:\temp\stack' | Rename-Item -NewName {$_.Name -replace ':','.' } -whatIf
할 것입니다 :
누군가가이 질문을 :) 대답 할 수 있다면 좋지 않을까은
그래서 내가 먼저 할 일은 powershell 문제를 해결하고 파일을 robocopy하는 것입니다. 그래서 powershell을 사용하여 ":"을 포함하는 파일의 이름을 바꾸고 나중에 새 위치로 복사합니다. 당신이하려는 것은 당신이 필요로하는 것보다 더 어렵게 만드는 것입니다. – Snak3d0c
그러나 원본 파일은 변경하면 안됩니다. 모든 파일의 복사본을 만들어 이름을 변경해야합니다. 하지만 원래 경로를 어떻게 유지할 수 있습니까? 복사 된 파일은 Source-Directory에서와 동일한 경로에 있어야하기 때문에? –
문제는 Windows 시스템에서 파일 이름에 \/: *? "<> |을 허용하지 않기 때문에 먼저 복사 한 다음 이름을 바꿀 수 없습니다. 알 겠어.) – Snak3d0c