Powershell: Alt Dizini arayın ve dosyayı bu dizine kopyalayın

0

Soru

Son 2 haftadan beri bir Powershell betiği üzerinde çalışıyorum ve bu konuda fazla ilerleme kaydetmedim.

Bu yüzden version adlı bir dosyayı kopyalamaya çalışıyorum.gradle projemin kökünden "src/main/resources", "src/main/webapp" ve "src/main/application"gibi Alt Dizinlere özellikler. Çalıştığı yolu kodlarsam, ancak dizini bularak ve dosyamı bu dizine kopyalayarak genel hale getirmeye çalışıyorum.

Kendi versiyonumu istiyorum.powershell komut dosyamı çalıştırdıktan sonra "kaynaklar","webapp" ve "uygulama" dizinine kopyalanacak özellikler dosyası.

Bunu nasıl yapabilirim? Herhangi bir öneri takdir edilmektedir.

$SourceDirectory = "Projectroot\version.properties"
$folders = gci $SourceDirectory -Recurse -Directory
$jar = "src/main/resources"
$ear = "src/main/application"
$war = "src/main/webapp"
    
foreach ($folder in Sfolders) {
    if (Test-Path $folder/$jar) {
        write-host "copying to $folder/$jar"
        Copy-Item-Path "{$SourceDirectory}\version.properties" -Destination $folder/$jar -Recurse -Force
    }
    
    elseif (Test-Path $folder/$ear) {
        write-host "copying to $folder/$ear"
        Copy-Item-Path "{$SourceDirectory}\version.properties" -Destination $folder/$ear -Recurse -Force
    }
    
    elseif (Test-Path $folder/$war) {
        write-host "copying to $folder/$war"
        Copy-Item-Path "{$SourceDirectory}\version.properties" -Destination $folder/$war -Recurse -Force
    }
    
    else {
        Write-Host "No such path"
    }
}
1

En iyi cevabı

0

Bunun bir projenin yol yapısı olduğunu varsayarsak:

#ProjectRoot
#ProjectRoot\version.properties <--- File
#ProjectRoot\src
#ProjectRoot\src\main  
#ProjectRoot\src\main\application
#ProjectRoot\src\main\resources
#ProjectRoot\src\main\webapp

Aşağıdaki komut dosyası aradığınızı yapacaktır.


$SourceDirectory = "C:\temp\Projectroot"
$DestinationDirectories = 'resources','application','webapp'

foreach ($I in $DestinationDirectories) {
    $CurrentDest = "$SourceDirectory\src\main\$I"
    if (Test-Path -Path $CurrentDest) {
        Copy-Item -Path "$SourceDirectory\version.properties" -Destination $CurrentDest
    } else {
        Write-Warning "Path not found: $CurrentDest"
    }
}

Yol yapısını anlamadıysam, lütfen hangisinin olduğunu açıklığa kavuşturun. Ben de "ana" nın burada statik bir anahtar kelime olduğunu varsayıyorum, ancak değilse, bu betiğin bunu yansıtacak şekilde ayarlanması gerekebilir.

2021-11-24 09:16:44

Bu yardımcı olur. Teşekkür ederim
Abhinandan RK

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................