[英]Powershell Script copy file to another servers folder having credentials
[英]Powershell script to find a folder and copy to another folder
我有一個很長的目錄路徑。 嵌套文件夾值根據項目名稱不斷變化。 但是最后一個目錄 PackageTmp 沒有改變,期待將 PackageTmp 中的文件復制到另一個目錄。 我想將 C:\unzip\Content\D_C\a\1\s\src\prj\obj\Release\Package\PackageTmp 中的所有子文件夾和文件復制到 C:\deploy。 我的代碼正在復制到 C:\deploy\PackageTmp。
Source Dir :- C:\unzip\Content\D_C\a\1\s\src\prj\obj\Release\Package\PackageTmp
Inconsistent Path :- \D_C\a\1\s\src\prj\obj\Release\Package\
Target Dir :- C:\deploy\
Non working code :- Get-ChildItem C:\unzip\ -Filter PackageTmp -Recurse | where {($_.psiscontainer)}| Copy-Item -Destination C:\deploy\ -Recurse -filter * -Force
看起來你快到了。 您的腳本只是找到PackageTmp
目錄,然后將其傳遞到管道中,最終將其復制到目標、目錄和內容。 訣竅是,一旦找到PackageTmp
目錄,您就可以使用通配符來獲取PackageTmp
目錄中的所有內容並將其復制到您的目的地。
我調整了你的非工作代碼,所以希望這對你有用。
# Get the PackageTmp directory
$PackageTmp = Get-ChildItem C:\unzip\ -Filter PackageTmp -Recurse | Where-Object {($_.psiscontainer)}
# Print the FullName of the PackageTmp directory
Write-Host "PackageTmp: $($PackageTmp.FullName)"
# Recursively copy everything in the PackageTmp directory to our destination directory
Copy-Item -Path "$($PackageTmp.FullName)\*" -Destination C:\deploy\ -Recurse -filter * -Force
我將PackageTmp
位置存儲在一個變量中。 然后我可以使用-Path "$($PackageTmp.FullName)\*"
參數指定我想復制PackageTmp
目錄內的所有內容,注意通配符\*
的使用。 這不會像您要求的那樣復制PackageTmp
目錄。
如此有效地代替這樣做:
Copy C:\unzip\Content\D_C\a\1\s\src\prj\obj\Release\Package\PackageTmp -> C:\deploy\
我們只是這樣做:
Copy C:\unzip\Content\D_C\a\1\s\src\prj\obj\Release\Package\PackageTmp\* to C:\deploy\
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.