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 :

%CD% sous windows server 2012


Sujet :

Scripts/Batch

  1. #1
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Points : 69
    Points
    69
    Par défaut %CD% sous windows server 2012
    Bonjour,

    J'ai un fichier bat que je lance à partir d'un répertoire C:\PRODUITS\TOTO, par un clic droit "executer en tant que Administrateur".

    Dans mon script, je tape la commande suivante pour obtenir le répertoire courant :
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo %CD%
    cd %CD%/..
    del *

    Ors il me dit que le répertoire courant est "C:\Windows\system32\". En effet, la commande CDM est dans ce répertoire.
    Donc le script essaye de m'effacer tous les fichiers C:\windows.

    Comment puis je faire pourque l'exécuter avec le répertoire dans lequel je me situe. Ce script fonctionnait très bien sous Windows 2008, mais en 2012, c'est une autre histoire.

    Merci pour votre aide.

  2. #2
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Testez avec ce batch et postiez le contenu du log.txt
    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @echo off
    if exist %tmp%\log.txt del %tmp%\log.txt
    echo %CD%
    echo %CD% > %tmp%\log.txt
    cd %CD%/..
    pause
    echo %CD% 
    echo %CD% >> %tmp%\log.txt
    pause
    start %tmp%\log.txt

  3. #3
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Points : 69
    Points
    69
    Par défaut
    le contenu du log est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    C:\Windows\system32 
    C:\Windows

  4. #4
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    Salut,
    Essaye ceci:
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set current_path=%~dp0
    set current_path_modified=%current_path:~0,-1%
    echo %current_path_modified%
    echo del %current_path_modified%\*
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  5. #5
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Points : 69
    Points
    69
    Par défaut
    Merci pour la solution.

    Est ce que quelqu'un sait pourquoi avant ça fonctionnait sous Windows 2007 et ça ne fonctionne plus sous 2012.

  6. #6
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    Mon code te convient?
    En fait je pense que l'OS n'est pas la cause de ton soucis, c'est plutôt la façon dont tu exécutes ton script.
    Pour comprendre, fait cette manipulation:
    Appuie sur la touche Windows + R > tape "cmd" > appuie sur Entrer > puis tape "%cd%"
    -> Ceci devrait te retourner quelque chose du style "C:\Users\%username%"
    Maintenant fait ceci:
    Menu démarrer, dans la barre de recherche tape cmd.exe, fait un clique droit dessus puis "Exécuter en tant qu'administrateur" > appuie sur Entrer > puis tape "%cd%"
    -> Là ça devrait te donner quelque chose comme ceci "C:\Windows\system32"

    Maintenant si tu exécutes mon code en tant qu'utilisateur normal (double clique), le script te répondra "C:\Users\%username%"
    Et si tu cliques droit sur le .bat puis "Exécuter en tant qu'administrateur", il te répondra "C:\Users\%username%" aussi

    Et pour information:
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    %current_path_modified%
    Correspond au chemin dans lequel se trouve le script MAIS je supprime le "\" à la fin, c'est parce que je n'aime pas avoir du code du style:
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    %current_path%mondossier\
    mais plutôt
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    %current_path_modified%\mondossier\

    Voila, en espérant que tout soit clair et fonctionnel.
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

Discussions similaires

  1. Compatibilité Borland C++ 6 sous Windows Server 2012 64 bits
    Par bachelre dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 11/02/2015, 14h18
  2. Plusieurs domaines AD DS sous Windows Server 2012
    Par Manoa131 dans le forum Windows Serveur
    Réponses: 3
    Dernier message: 13/08/2014, 16h44
  3. Réponses: 3
    Dernier message: 04/07/2014, 21h23
  4. Hyper v avec teaming sous windows server 2012
    Par laurent66000 dans le forum Windows Serveur
    Réponses: 4
    Dernier message: 29/04/2014, 16h41
  5. Nouvelles formations sur Microsoft Hyper-V R3 sous Windows Server 2012
    Par Hinault Romaric dans le forum Certifications
    Réponses: 1
    Dernier message: 31/01/2013, 17h46

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