Lanciare uno script powershell da file Batch (.bat)


sintassi di esempio per creare un file bach con all'interno uno script powershell:

powershell.exe -ExecutionPolicy unrestricted -file "C:\ScriptPulizia\Scrip_eliminazione_vecchie_cartelle.ps1" >> C:\ScriptPulizia\log.txt

Esempio dello script richiamato

date
echo -
echo -
echo -
echo "cambio cartella e vado ad eseguire pulizia su r:"
cd "r:\"
Get-ChildItem "r:\" | Where-Object { $_.PSIsContainer} | ForEach-Object {Get-ChildItem $_ | Where-Object {$_.PSIsContainer} | Sort-Object -Descending | Select-Object -Skip 4 | Remove-Item -Recurse}
# -WhatIf
echo -
echo -
echo "cambio cartella e vado ad eseguire pulizia su s:"
cd "s:\"
Get-ChildItem "s:\" | Where-Object { $_.PSIsContainer} | ForEach-Object {Get-ChildItem $_ | Where-Object {$_.PSIsContainer} | Sort-Object -Descending | Select-Object -Skip 4 | Remove-Item -Recurse}
# -WhatIf
c:
# ping -n 10 www.tim.it
echo -----------------------------------------------------------------------------
echo -----------------------------------------------------------------------------

1 commento:

  1. lo script ps1 viene avviato ma la finestra da un sacco di errori, si può risolvere?

    Impossibile eseguire l'indicizzazione in una matrice null.
    In C:\Users\gvdan\Desktop\HotSpot.ps1:2 car:1
    + $asTaskGeneric = ([System.WindowsRuntimeSystemExtensions].GetMethods( ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : NullArray

    Hotspot is off! Turning it on
    Impossibile chiamare un metodo su un'espressione con valore null.
    In C:\Users\gvdan\Desktop\HotSpot.ps1:4 car:1
    + $asTask = $asTaskGeneric.MakeGenericMethod($ResultType)
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

    Impossibile chiamare un metodo su un'espressione con valore null.
    In C:\Users\gvdan\Desktop\HotSpot.ps1:5 car:1
    + $netTask = $asTask.Invoke($null, @($WinRtTask))
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

    Impossibile chiamare un metodo su un'espressione con valore null.
    In C:\Users\gvdan\Desktop\HotSpot.ps1:6 car:1
    + $netTask.Wait(-1) | Out-Null
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

    RispondiElimina

Lascia qui il tuo commento.