así que quería actualizar mi frase de eliminación de elementos. Quiero dividir la ruta del archivo principal (\HQDEVAPP004\C$\LoneStar\ProcessorHandlers\Test) en 2 variables que se definen en la parte superior del script. Algo como:
- $rootdir = "\HQDEVAPP004\C$\LoneStar"
- $svcdir = {inserte el nombre del servicio aquí} (es decir, enrutador de mensajes, controladores de procesador)
Y luego cree una tercera variable que sea la ruta completa del directorio, que simplemente une 1 + 2, lo cual sé que se puede hacer con el operador "+", corríjame si me equivoco.
La idea es que, eventualmente, podré ejecutar un bucle foreach para capturar y configurar la ruta svcdir, unir dinámicamente la ruta completa del directorio donde desea eliminar archivos, ejecutar el proceso de eliminación y luego mover en la carpeta del siguiente servicio. Espero haberlo explicado correctamente. Si por casualidad quisiera ver el resumen que he estado usando, lo pondré aquí abajo:
Get-ChildItem -recurse \\HQDEVAPP004\C$\LoneStar\ProcessorHandlers\Test\*.* | Remove-Item
Respuesta1
En primer lugar, la propiedad Path y LiteralPath Remove-Item
acepta comodines, por lo que su línea actual ya funcionaría sinGet-ChildItem
Remove-Item \\HQDEVAPP004\C$\LoneStar\ProcessorHandlers\Test\*.* -Recurse -Force
Acerca del "pegado", sugeriría cualquiera de los dos Join-Path
o el operador Formato -f
.
Join-Path
ejemplo (con esto no tienes que preocuparte por las barras invertidas):
PS C:\> $rootdir = "\\HQDEVAPP004\C$\LoneStar"
PS C:\> $svcdir = "Message Router"
PS C:\> Join-Path $rootdir $svcdir
\\HQDEVAPP004\C$\LoneStar\Message Router
-f
ejemplo (tenga en cuenta que {0}
ahí es donde se colocará el argumento que proporcione):
PS C:\> $rootdir = "\\HQDEVAPP004\C$\LoneStar\{0}"
PS C:\> $svcdir = "Message Router"
PS C:\> $rootdir -f $svcdir
\\HQDEVAPP004\C$\LoneStar\Message Router
Entonces, sí, puede buscar en todas las rutas y hacer este pegado, sin embargo, también puede proporcionar todas las rutas que desee directamente, Remove-Item
ya que puede manejar una matriz:
cd "\\HQDEVAPP004\C$\LoneStar"
Remove-Item ".\Message Router\*.*",".\SomeOtherPath" -Recurse -Force