2017-11-29 19 views
0
#copies program directory 

copy-item .\iphone -Recurse c:\Users\$env:username -force 

#sets file I want to copy to unknown directory name as $file1 

C:\Users\$env:username\iphone\.filename = $file1 

#sets unknown folder location to $location1 which is a randomly named directory 
#under this subfolder in appdata\Roaming\parentfolder\23761253721536721(random //number) , 
#name is just a string of numbers 

Get-ChildItem C:\Users\$env:username\AppData\Roaming\parentfolder = $location1 

//attempts to copy file to location 

copy-item $file1 $location1 

PowerShell의 새로운 기능. 내가 필요로하는 것보다 더 힘들게 만들고 있다고 확신합니다. 이것은 내 10 번째 스크립트가 이것을하려고하는 것과 같고 나는 대답에서 더 멀어지고 있다고 느낍니다. 예제를보고 그냥 파일을 복사하려고하는 알 수없는 디렉토리 경로를 설정하는 데 필요한 것을 찾지 못했습니다.PowerShell을 사용하여 무작위로 명명 된 디렉터리에 파일 복사

답변으로 코드가 무엇을하고 있는지 설명 할 수 있다면 감사하겠습니다. 당신은 단지 하나의 "임의 폴더에"이 가정

$file1 = Get-Item C:\Users\$env:username\iphone\.filename 
$location1 = Get-ChildItem C:\Users\$env:username\AppData\Roaming\parentfolder 

$file1 |Copy-Item -Destination $location1.FullName 
+1

무엇 "무작위로 명명 된"이라는 뜻입니까? – TheIncorrigible1

+0

그래서 프로그램이 처음 실행될 때 C : \ Users \ Username \ AppData \ Roaming \ parentfolder \ RandamlyNamedFolder에 폴더가 생성됩니다. 지금까지 폴더는 숫자 문자열이었습니다. 이 폴더에 두 개의 파일 만 복사하면됩니다. 그러나 하위 항목 가져 오기를 사용하여 위치를 쿼리하는 것은 숫자 문자열을 저장하는 것일 뿐이며 복사 항목을 시도 할 때 파일 b/c를 복사 할 위치를 알지 못합니다. 복사 항목 file1 123131231651654 – Josh

+0

c : \ Users \ $ env : username'은'$ env : userprofile'로 대체되어야합니다. 둘 다 동일하다는 보장은 없습니다! 사용자 프로필을 네트워크 드라이브에 저장하면 어떻게 될까요? 'D : /'에? – Clijsters

답변

0

는 변수 참조는 =의 왼쪽에 갈 필요

## Translates to C:\Users\%USERNAME%\AppData\Roaming 
$Parent = "$env:AppData\ParentFolder" 

$Destination = Get-ChildItem -Path $Parent | Where-Object { $_.PSIsContainer } 
$File = "$env:UserProfile\iphone\.filename" 

Copy-Item -Path $File -Destination $Destination 
+0

"Get-Item"을 제거하고 $ - $ file1 = C : \ Users \ $ env : username \ iphone \ .filename을 그대로두면 작동합니다. 도와 줘서 고마워. – Josh