Powershell : Búsqueda en el Subdirectorio y copie el archivo en ese directorio

0

Pregunta

He estado trabajando en un script de Powershell desde el pasado 2 semanas y no he avanzado mucho en eso.

Así que estoy tratando de copiar un archivo llamado versión.propiedades de la raíz de mi gradle proyecto a los Subdirectorios como "src/main/resources", "src/main/webapp" y "src/main/aplicación". Si me duro el código de la ruta es de trabajo, pero estoy tratando de hacer es genérico por encontrar el directorio y la copia de mi archivo de ese directorio.

Quiero que mi versión.propiedades de archivo a copiar a los "recursos","webapp" y "aplicación" directorio después de ejecutar mi script de powershell.

¿Cómo puedo hacerlo? Cualquier sugerencia se agradece.

$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

Mejor respuesta

0

Suponiendo que este es el camino de la estructura de un proyecto:

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

La siguiente secuencia de comandos de hacer lo que usted busca.


$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 no me llega la estructura del camino, por favor aclarar cuál es. Estoy asumiendo que el "principal" es una palabra clave static aquí, pero si no lo es, que la secuencia de comandos debe ser ajustada para reflejar eso.

2021-11-24 09:16:44

Esta ayuda. Gracias
Abhinandan RK

En otros idiomas

Esta página está en otros idiomas

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