Aller au contenu

windows 8 /// batch /// probleme de noms de fichiers/dossiers


lekillerderpg

Messages recommandés

bonsoir à tous

j'ai un ptit probleme et j'arrive pas à le solutionner par moi-même, donc j'ai besoin de votre aide ^^

situation:

-win8 32 bits virtualisé via vmware depuis un xpprosp3 32bits

-ce pc virtuel a 2 disques durs virtuels (C: et D: (mbr/ide))

-windows update à été effectué

je prepare ainsi ma migration de xp vers win8 en faisant qques tests

et j'ai un probleme

probleme:

-un dossier "qsdfgh123" est présent à la racine de C: et à la racine de D:

-un batch avec les lignes suivantes a été créé sur le bureau (en gros il affiche "echo *" si il trouve le dossier indiqué)

///////////////////////////////

""""""""""contenu du batch"""""""""

if exist d:\qsdfgh123\ echo 1

if exist d:\qsdfgh123 echo 2

if exist d:\qsdfgh~1\ echo 3

if exist d:\qsdfgh~1 echo 4

if exist c:\qsdfgh123\ echo 5

if exist c:\qsdfgh123 echo 6

if exist c:\qsdfgh~1\ echo 7

if exist c:\qsdfgh~1 echo 8

pause

///////////////////////////////

et voila le resultat du batch

hostingpics.net/viewer.php?id=136307Sanstitre.png

echo 3 et 4 ne passent pas

le probleme c'est si je mets " ~1 "

dans une ligne pointant vers D: il me dit que le fichier n'existe pas

donc je souhaiterais savoir si qqun a ce probleme avec son windows 8 "reel"

(les droits des fichiers sont sur tout le monde et aussi pour les objets enfants)

edit: sous xp ce batch marche parfaitement

merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

Comme ça de but en blanc ça peut tout à fait être un problème d'alias. comme tu le sais depuis Windows Vista un dossier peut porter un alias => Par exemples Desktop ça affichera Bureau & Downloads => Téléchargements.

ouvre voir une invite de commande : et tape : C:\DIR /AL /S => ca t'affichera les noms que tu vois dans la colonne de gauche et leur vrai nom dans la colonne de droite (ça se fait depuis la racine de C: même si tu as plusieurs disques, sur D ça ne fonctionnera pas parce que c'est lié à la localisation de la base de registre)

EDIT : Je checke pour voir sur les autres disques

Lien vers le commentaire
Partager sur d’autres sites

c'était le résultat du dir /al /s qui était intéressant. Ce que je vois c'est que la commande a échouée => elle doit être faite à la racine du disque, pas depuis un répertoire (comme je te disais juste au dessus c'est parce que c'est en base de registre ;)). Quand tu verra le résultat de la commande tu va comprendre ce que je voulais dire => la différence entre nom de dossier & lien symbolique.

Lien vers le commentaire
Partager sur d’autres sites

la commande dir /AL /S normalement n'affiche pas plus d'une dizaine de dossier =>

ce genre de chose :

18/12/2012  00:49	<JUNCTION>	 Ma musique [C:\Users\Public\Music]18/12/2012  00:49	<JUNCTION>	 Mes images [C:\Users\Public\Pictures]18/12/2012  00:49	<JUNCTION>	 Mes vidéos [C:\Users\Public\Videos]26/07/2012  08:22	<JUNCTION>	 My Music [C:\Users\Public\Music]26/07/2012  08:22	<JUNCTION>	 My Pictures [C:\Users\Public\Pictures]26/07/2012  08:22	<JUNCTION>	 My Videos [C:\Users\Public\Videos]		   0 fichier(s)				0 octets

Comme tu le vois on a à gauche le dossier qu'on voit (y compris en faisant un dir) et à droite le nom réel du dossier, c'est de ça dont je parle

Lien vers le commentaire
Partager sur d’autres sites

je comprends mais moi quand je passe ta commande il me scannne tout puis plante

j'ai essayé en faisant "dir C:\ > c:\a.txt" mais pareil ça plante à un moment avant de traiter mon dossier

j'ai renommé en "aaqsdfgh123" pour qu'il soit traité en premier mais nada y a rien dans a.txt avec ce nom ou une partie de ce nom

ce ne sont pas des dossiers créés par le systeme mais par moi pour faire des tests

donc on n'est pas dans le cas par exemple de dossiers "c:\utilisateurs" qui est en fait "c:\users\"

Lien vers le commentaire
Partager sur d’autres sites

echo 3 et 4 ne passent pas

le probleme c'est si je mets " ~1 "

dans une ligne pointant vers D: il me dit que le fichier n'existe pas

Il se peut que Windows 8 ait supprimé (ou désactivé par défaut) les anciens noms NTFS en caractères 8.3 (8 caractères et 3 pour l'extension de fichier), car ça ne servait que pour de très anciens logiciels de l'époque de DOS.

Je recommande de travailler directement avec les vrais noms de fichiers ;)

Lien vers le commentaire
Partager sur d’autres sites

mais bor***! déjà que j'ai passé des heures à modifier mes fichiers à cause de la suppression de "documents and settings" pour remplacer par "users" pareil pour la suppression de "bureau" pour remplacer par "desktop" et là c le "~1" qui gicle! -_-'''''''''

c definitif cette histoire? et pkoi ça marche sur c:\ alors ? sous xp sans ça fallait utiliser les guillements

mais allez, ça va me prendre cent ans pour tout mettre à jour -_-''''

zont abusé -_-''''

Lien vers le commentaire
Partager sur d’autres sites

Je ne sais pas pourquoi cela ne fonctionne pas partout dans ton cas, mais je te recommande d'utiliser par exemple :

- Les variables d'environnement (et voir utiliser le registre pour lire d'autres variables courantes) afin que peu importe si le dossier utilisateurs s'appelle "Users" ou autre, idem pour "Desktop", etc... généralement avec les scripts il vaut mieux éviter les chemins en dur, sauf si on est sûr que ça ne change jamais sur un PC bien précis

- Utiliser uniquement les noms de fichiers complets, car les noms au format DOS finiront par disparaître pour de bon

En fait, ça ferait des modifications au départ, mais ensuite dans le temps il y en aura beaucoup moins ;)

Lien vers le commentaire
Partager sur d’autres sites

mouais tout ce que je fais est reflechi pour être durable/nomade/compatible ... mais là, ce truc je l'avais pas vu venir -_-'''

v donc être obligé de passer une bonne partie de mon dimanche dessus

mais vu que je suis en virtuel ça me donne de la marge de manoeuvre, j'ai pas besoin de faire ça à l'arrache

merci pour l'aide, au moins je sais d'où ça vient -_-'''

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...