Powershell : Rechercher dans le sous-Répertoire et copier le fichier dans ce répertoire

0

La question

Je travaille sur un script Powershell à partir de ces 2 dernières semaines et je n'ai pas fait beaucoup de progrès dans ce.

Donc j'essaye de copier un fichier appelé version.propriétés de la racine de mon projet gradle pour les sous-Répertoires comme "src/main/resources", "src/main/webapp" et "src/main/application". Si j'ai coder en dur le chemin du travail, mais im essayant de le rendre générique par trouver le répertoire et la copie de mon fichier dans ce répertoire.

Je veux ma version.fichier de propriétés pour être copié dans "ressources","webapp" et de la "demande" de répertoire, après je lance mon script powershell.

Comment puis-je le faire? Toutes les suggestions sont les bienvenues.

$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

La meilleure réponse

0

En supposant que c'est le chemin de la structure d'un projet:

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

Le script suivant va faire ce que vous chercher.


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

Si je n'ai pas la structure de chemin d'accès, merci de préciser lequel est-ce. Je suppose aussi que le "principal" est un mot-clé static ici, mais si elle n'est pas, ce script peut être ajusté pour refléter cela.

2021-11-24 09:16:44

Cela aide. Merci
Abhinandan RK

Dans d'autres langues

Cette page est dans d'autres langues

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