Powershell : Vyhľadávanie Podadresár a skopírujte súbor do tohto adresára

0

Otázka

Pracoval som na Powershell skriptu z posledných 2 týždňov, a ja som urobili veľký pokrok v tom.

Tak sa snažím ak chcete skopírovať súbor s názvom verziu.vlastnosti z koreňa moje gradle projektu Podadresárov ako "src/main/resources", "src/main/webapp" a "src/main/application". Ak som pevného kód cestu, že to funguje, ale im sa snaží urobiť to všeobecný nájsť adresár a kopírovanie môj súbor do tohto adresára.

Chcem, aby moja verzia.vlastnosti súbor sa skopíruje do "zdroje","webapp" a "aplikácia" adresár keď spustím moje powershell skriptu.

Ako môžem to urobiť? Akékoľvek pripomienky sú vítané.

$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

Najlepšiu odpoveď

0

Za predpokladu, že toto je cesta, štruktúra projektu:

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

Nasledujúci skript bude robiť to, čo ste hľadali.


$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"
    }
}

Ak som nedostal, cesta štruktúra, prosím, objasniť, čo je to. Ja som za predpokladu, že príliš "main" je statická kľúčové slovo je tu ale ak to nie je, že skript musieť byť upravený tak, aby zohľadňoval, že.

2021-11-24 09:16:44

To pomáha. Ďakujeme
Abhinandan RK

V iných jazykoch

Táto stránka je v iných jazykoch

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