Powershell : Hledání Podadresáře a zkopírujte soubor do tohoto adresáře

0

Otázka

Já jsem pracoval na skriptu Powershell z posledních 2 týdnů a jsem moc nepokročili.

Tak zkoušel jsem kopírovat soubor s názvem verze.vlastnosti z kořene mého gradle projektu do Podadresáře jako "src/main/resources", "src/main/webapp" a "src/main/application". Pokud jsem pevný kód cestu, že to funguje, ale im snaží, aby to generic nalezením adresáře a kopírování můj soubor do tohoto adresáře.

Chci, aby moje verze.vlastnosti souboru, které mají být zkopírovány do "zdroje","aplikace" a "aplikace" adresář po spuštění mého skriptu powershell.

Jak mohu udělat to? Jakékoli návrhy jsou vítány.

$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

Nejlepší odpověď

0

Za předpokladu, že toto je cesta, struktura projektu:

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

Následující skript udělá to, co hledáte.


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

Pokud jsem nedostal cesta struktura, prosím, objasnit, jaké to je. Předpokládám také, že "hlavní" je statické klíčové slovo tady, ale pokud to není, že scénář by mohl být třeba upravit tak, aby odrážely to.

2021-11-24 09:16:44

To pomáhá. Děkuji
Abhinandan RK

V jiných jazycích

Tato stránka je v jiných jazycích

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