Powershell : Ricerca le Sottodirectory e copiare il file in quella directory

0

Domanda

Sto lavorando su uno script di Powershell passate 2 settimane e non ho fatto molti progressi in questo.

Così sto cercando di copiare un file chiamato versione.proprietà la radice del mio gradle progetto per la Sottodirectory come "src/main/resources", ".. /src / main/webapp" e ".. /src / main/applicazione". Se ho rigido codice il percorso di lavoro, ma im cercando di renderlo generico trovando la directory e copiare il mio file in quella directory.

Voglio che la mia versione.proprietà del file da copiare in "risorse","webapp" e "applicazione" directory dopo che ho eseguito il mio script di powershell.

Come posso fare? Eventuali suggerimenti sono apprezzati.

$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

Migliore risposta

0

Supponendo che questa è la struttura del percorso di un progetto:

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

Il seguente script farà ciò che cercate.


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

Se non ricevo la struttura del percorso, si prega di chiarire quale sia. Io parto dal presupposto che anche il "principale" è una parola chiave static qui, ma se non lo è, lo script potrebbe aver bisogno di essere rettificato per tener conto di che.

2021-11-24 09:16:44

Questo aiuta. Grazie
Abhinandan RK

In altre lingue

Questa pagina è in altre lingue

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