IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Tester la copie d'un fichier


Sujet :

Scripts/Batch

  1. #1
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut Tester la copie d'un fichier
    Bonjour,

    J'essaye de tester la copie d'un fichier.
    A mon grand étonnement, la commande Copy-Item ne semble pas retourner de variable.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $copy = Copy-Item "fichier.txt" "c:\"
    If ($copy -eq 0) {
    	Write-Host "OK"
    } else {
    	Write-Host "Une erreur est survenue pendant la copie du fichier"
    }
    D'après mes recherches, je suis obligé de tester l'existence du fichier en destination avec Test-Path

    Quelqu'un pourrait-il me le confirmer SVP ?
    Merci

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Tchupacabra Voir le message
    A mon grand étonnement, la commande Copy-Item ne semble pas retourner de variable.
    Un cmdlet renvoi des objets, une variable, bien que similaire,est qq chose d'autre.
    Alors où trouver l'info ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    (get-help Copy-Item ).returnValues
    
    help about*
    #Doc US
    help about_automatic_variables|select-string "error|status" -Context 4,4
    #Voir la variable $?
    Il y a beaucoup d'infos dans la doc, il faut juste prendre le temps de la lire

  3. #3
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    Voici ce que j'ai fait :
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Function FileCopy([string]$sPathSrc, [string]$sPathDest) {
    	$FileName=[System.IO.Path]::GetFileName($sPathSrc)
    	Copy-Item $sPathSrc $sPathDest
    	If ($? -eq 1) {
    		If ((Test-Path $sPathDest) -eq $true) {
    			Write-Host "Copie du fichier <$FileName>"
    			Return 1
    		} else {
    			Write-Host "Le fichier <$FileName> est introuvable à l'emplacement :"
    			Write-Host $sPathDest -ForegroundColor White
    			Return 0
    		}
    	} else {
    		Write-Host "Le fichier <$FileName> n'a pas été copié"
    		Return 0
    	}
    }
    ça à l'air de tenir la route...

Discussions similaires

  1. comment tester la connexion depuis un fichier BATCH
    Par philippe_Aix dans le forum Oracle
    Réponses: 13
    Dernier message: 11/10/2004, 16h56
  2. Réponses: 11
    Dernier message: 02/04/2004, 18h33
  3. Tester la presence de plusieurs fichiers
    Par Little_Goldo dans le forum Linux
    Réponses: 4
    Dernier message: 17/03/2004, 11h34
  4. tester l existence d un fichier sous turbo pascal
    Par Newllite dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 25/01/2004, 12h47
  5. Peut on tester l'existence d'un fichier ?
    Par Alamassepointcom dans le forum Flash
    Réponses: 2
    Dernier message: 10/10/2002, 12h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo