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で無作為に名前を付けられたディレクトリにファイルをコピー

答えがあれば、コードが何をしているのか分かりませんが、私はそれを感謝することができます。

+1

何をあなたは「無作為に指定された」という意味ですか? – TheIncorrigible1

+0

したがって、初めてプログラムを実行したときに、C:\ Users \ Username \ AppData \ Roaming \ parentfolder \ RandamlyNamedFolderにフォルダが作成されています。ここまでのフォルダは数字列です。私はちょうどこのフォルダに2つのファイルをコピーする必要があります。しかし、get child-itemを使用して場所を照会するのは数字の文字列を保存するだけです。コピーアイテムをしようとすると、ファイルb/cをコピーする場所がわかりません。コピーアイテムfile1 123131231651654 – Josh

+0

'c:\ Users \ $ env:username'は '$ env:userprofile'に置き換えてください。両方が同じであることは保証されていません!ユーザープロファイルをネットワークドライブに保存するとどうなりますか? 'D:/'について? – Clijsters

答えて

0

変数に値を代入すると、変数の参照が=の左側に行く必要があります:

$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 
+0

"Get-Item"を削除して、$ file1 = C:\ Users \ $ env:username \ iphone \ .filenameのままにしておけば、これは動作します。ご協力ありがとうございました – Josh

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 
関連する問題