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 :

Message d'erreur avec l’existence du dossier


Sujet :

Scripts/Batch

  1. #1
    Membre émérite

    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Novembre 2014
    Messages
    817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 817
    Billets dans le blog
    2
    Par défaut Message d'erreur avec l’existence du dossier
    bonjour a tous

    j’utilise ce petit script pour le backup de mes bases de données

    Code powershell : 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Import-Module "SQLPS" -DisableNameChecking
     
    $ServerName = ".\sqlprod"
    $SQLSvr = New-Object -TypeName  Microsoft.SQLServer.Management.Smo.Server($ServerName)
     
    $Db = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Database
     
    foreach ($db in $SQLSvr.Databases | Where-Object {$_.Name -ne "tempdb"}){
    if (!(test-path -path c:\folder\$db))
    {New-Item -ItemType directory -Path c:\folder\$db  
    $path="c:\folder\"+$db
    }
    else 
    {write-error  "folder existant"
    }
        $Backup = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Backup
        $Backup.Action = [Microsoft.SQLServer.Management.SMO.BackupActionType]::Database
        $backup.BackupSetDescription = "Full Back of "+$Db.Name
        $Backup.Database = $db.Name
     
        $BackupName = $path+"\"+$Db.Name+"_"+[DateTime]::Now.ToString("yyyyMMdd_HHmmss")+".bak"
        $DeviceType = [Microsoft.SqlServer.Management.Smo.DeviceType]::File
        $BackupDevice = New-Object -TypeName Microsoft.SQLServer.Management.Smo.BackupDeviceItem($BackupName,$DeviceType)
     
        $Backup.Devices.Add($BackupDevice)
        $Backup.SqlBackup($SQLSvr)
        $Backup.Devices.Remove($BackupDevice)
        }

    je teste l'existant du fichier du backup a travers cette ligne
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (!(test-path -path c:\folder\$db))
    {New-Item -ItemType directory -Path c:\folder\$db  
    $path="c:\folder\"+$db
    }
    else 
    {write-error  "folder existant"
    }

    le pb si le dossier existe il me renvoi une erreur d’existence qui a une idée comment je peut corriger ça
    Images attachées Images attachées  

  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
    Billets dans le blog
    1
    Par défaut
    Salut,
    To be or NOT to be ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2018
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2018
    Messages : 43
    Par défaut
    Salut,

    Je dirais un truc comme ça
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if(!(test-path -path c:\folder\$db -ErrorAction SilentlyContinue))
    {New-Item -ItemType directory -Path c:\folder\$db  
    $path="c:\folder\"+$db
    }
    else 
    {write-error  "folder existant"
    }

    Sinon pour éviter les erreurs lors d'une condition, passe plutôt par un Try..Catch

Discussions similaires

  1. message d'erreur avec mysql
    Par ulysse031 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 07/02/2007, 19h23
  2. les messages d'erreurs avec "yacc/bison"
    Par minirop dans le forum C
    Réponses: 6
    Dernier message: 20/12/2006, 18h17
  3. message d'erreur avec le Run Time Access 2003
    Par barbu44 dans le forum Runtime
    Réponses: 3
    Dernier message: 10/12/2006, 14h03
  4. message d'erreur avec borland c++
    Par sally042 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 06/12/2006, 15h41
  5. Message d'erreur avec Bulk Insert
    Par Shivas dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 18/07/2005, 12h03

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