none
Aide sur script RRS feed

  • Question

  • Bonjour,

    Voici mon scrpit :

    remove-item C:\test\*|gci C:\temp\*.txt | sort LastWriteTime -desc | select -first 1 | cpi -dest c:\test

    Je veux effacer les fichiers d'un répertoire puis y copier le fichier le plus récent de c:\temp. Mon script de copie fonctionne mais lorsque j'efface les fichiers dans c:\test ca ne fonctionne plus

    Merci pour votre aide

    lundi 16 avril 2012 07:55

Réponses

Toutes les réponses

  • Bonjour,

    Je ne comprends pas vraiment votre ligne de commande. Pourquoi voulez vous tout faire en une seule ligne ?

    Remove-Item C:\test\*
    Get-ChildItem C:\temp\*.txt | Sort-Object LastWriteTime -Desc | Select-Object -First 1 | Copy-Item -Destination C:\test

    Votre ligne ne fonctionne pas car Remove-Item ne retourne pas de donnée dans le pipeline (Help Remove-Item -Full), donc PowerShell ne continura pas la commande derrière le pipeline du Remove-Item.


    Bien Cordialement, Richard Lazaro

    lundi 16 avril 2012 13:33
  • Bonjour,

    J'ai essayé de mettre sur 2 lignes mais ca ne fonctionne pas non plus. Lorsque je lance mon ps1 je vois quelque chose apparaitre en rouge dans la fenetre de powershell mais je ne sais pas comment faire pour avoir l'équivalent de pause en .bat

    Merci

    lundi 16 avril 2012 16:00
  • Tu peux faire un simple Read-Host.

    Bien Cordialement, Richard Lazaro

    lundi 16 avril 2012 16:42
  • Peux être rajouter un -Recurse sur le Remove-Item.

    Bien Cordialement, Richard Lazaro

    lundi 16 avril 2012 16:45
  • Bonjour

    Voici le nouveau code

    Remove-Item C:\test\* -recurse
    Get-ChildItem C:\temp\*.txt | Sort-Object LastWriteTime -Desc | Select-Object -First 1 | Copy-Item -Destination C:\test

    mais ca ne fonctionne toujours pas. Si je lance chaque ligne indépendamment ca fonctionne mais les 2 ensembles non

    Cordialement

    vendredi 20 avril 2012 07:41
  • J'ai trouvé

    Il faut mettre la sécurité à remotesigned pour que ca fonctionne

    Merci

    vendredi 20 avril 2012 07:48
  • Bonjour Calou_33

    il vous est aussi possible de créer un fichier de Log des actions réalisées par votre script via les commandes Start-Transcript et Stop-Transcript.

    Voici un exemple de script :

    ===========================================

    Start-Transcript -path C:\LOG\test.log
    get-childitem d:\test -recurse | %{Remove-Item $_.fullname -force -verbose}
    Stop-Transcript | Out-Null

    ===========================================

     

    L'objectif est de créer un fichier de log : C:\LOG\test.log et vous permets vérifier les actions réalisées par ce dernier.

    ============== TEST.LOG ======================

    **********************
    Windows PowerShell Transcript Start
    Start time: 20120423163530
    Username  : XXXXX
    Machine   : XXXXX (Microsoft Windows NT 6.1.7601 Service Pack 1)
    **********************
    Transcript started, output file is C:\LOG\test.log
    VERBOSE: Performing operation "Remove File" on Target "D:\test\test.txt".
    **********************
    Windows PowerShell Transcript End
    End time: 20120423163530
    **********************

    ========================================

    J'espère que cela vous aura aidé dans votre développement.


    Cordialement, Yann www.adminsysteme.fr



    lundi 23 avril 2012 14:42