OVH Cloud OVH Cloud

Mkdir

6 réponses
Avatar
ROLLOT Pascal Jean
Bonjour,

Je doois dréé dynamiquement un répertoire sur un serveur.
Pour ce faire, j'utilise MkDir \\srvtest\toto\titi.

Cela fonctionne si le répertoire \\srvtest\toto existe mais par contre cela
plante quand je veux créer un répertoire avec un sous répertoire d'un seul
coup.

Quelqu'un peut-il me tuyauter svp?

Merci d'avance.

6 réponses

Avatar
LE TROLL
Bonjour,
Pourquoi ne pas te placer dans le répertoire pour créer le sous-répertoire
(path) ???

--
Site de MES LOGICIELS
http://irolog.free.fr
Site éditeur MES ROMANS édités
Le serpent
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Le Gaulois
http://manuscritdepot.com/a.joseph-attila-pusztay.2.htm
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"ROLLOT Pascal Jean" a écrit dans le message de news:

Bonjour,

Je doois dréé dynamiquement un répertoire sur un serveur.
Pour ce faire, j'utilise MkDir srvtesttototiti.

Cela fonctionne si le répertoire srvtesttoto existe mais par contre
cela
plante quand je veux créer un répertoire avec un sous répertoire d'un seul
coup.

Quelqu'un peut-il me tuyauter svp?

Merci d'avance.




Avatar
Jacques93
Bonjour ROLLOT Pascal Jean,
ROLLOT Pascal Jean a écrit :
Bonjour,

Je doois dréé dynamiquement un répertoire sur un serveur.
Pour ce faire, j'utilise MkDir srvtesttototiti.

Cela fonctionne si le répertoire srvtesttoto existe mais par contre cela
plante quand je veux créer un répertoire avec un sous répertoire d'un seul
coup.

Quelqu'un peut-il me tuyauter svp?



Il faut créer les répertoires intermédiaires. Un exemple ici :

http://www.devx.com/vb2themax/Tip/19055

A noter que la commande MkDir de W2K, XP permet cela :
MKDIR [lecteur:]chemin
MD [lecteur:]chemin

Si les extensions de commandes sont activées, MKDIR est modifié comme suit

MKDIR crée tout répertoire intermédiaire dans le chemin, si nécessaire.
Par exemple, supposez que a n'existe pas. Alors:

mkdir abcd

est équivalent à :

mkdir a
chdir a
mkdir b
chdir b
mkdir c
chdir c
mkdir d

qui est ce que vous auriez dû entrer si les extensions étaient désactivées.
--
Cordialement,

Jacques.
Avatar
Jacques93
Jacques93 a écrit :
[...]

http://www.devx.com/vb2themax/Tip/19055




Dans la mesure où tu utilise un chemin UNC (MachineRep1Rep2...)
l'exemple de code que j'ai indiqué est à adapter pour gérer les deux
premiers

--
Cordialement,

Jacques.
Avatar
Philippe HALET
Bonjour,

Voici un petit bout de code que j'utilise dans mes programmes et qui crée
les répertoires récursivement.

Bon travail,

Philippe

'*********************************************************************************
' Crée la chaine de répertoires donnée en paramètre
'*********************************************************************************
Public Function MakeDirectories(strRep As String) As Boolean
Dim lgWhile As Long

' Initialise la fin de la chaîne.
If Right$(strRep, 1) <> "" Then strRep = strRep & ""

' Repère le départ du premier répertoire.
lgWhile = InStr(4, strRep, "")

' Si le répertoire commence par un nom réseau (par exemple
"hdsi-test")
' alors on passe le premier "" rencontré.
If Left$(strRep, 2) = "" Then
lgWhile = InStr(lgWhile + 1, strRep, "")
End If

Do While (lgWhile > 0)
' Vérifie l'existence du répertoire.
On Local Error Resume Next
If Dir$(Left$(strRep, lgWhile), vbDirectory) = vbNullString Then
' Crée le répertoire.
MkDir Left$(strRep, lgWhile)
End If
On Local Error GoTo 0
lgWhile = InStr(lgWhile + 1, strRep, "")
Loop

MakeDirectories = True

End Function



"Jacques93" wrote in message
news:
Jacques93 a écrit :
[...]

http://www.devx.com/vb2themax/Tip/19055




Dans la mesure où tu utilise un chemin UNC (MachineRep1Rep2...)
l'exemple de code que j'ai indiqué est à adapter pour gérer les deux
premiers

--
Cordialement,

Jacques.




I choose Polesoft Lockspam to fight spam, and you?
http://www.polesoft.com/refer.html
Avatar
Jean-marc
"Philippe HALET" a écrit dans le message de news:
45770446$0$5527$
Bonjour,



Hello,

Voici un petit bout de code que j'utilise dans mes programmes et qui crée
les répertoires récursivement.



Une petite rectification pour les autres: ta fonction (qui marche
parfaitement)
n'est pas récursive, elle est simplement itérative. A noter que pour
ce genre de traitement, la méthode itérative que tu emploies est clairement
la meilleure, la récusrsivité n'apporterait rien ici (car pas besoin de
backtracking).

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
Avatar
Philippe HALET
Oups!!! Tu as parfaitement raison, c'est une méthode itérative...ça
m'apprendra à répondre au moment de l'apéro!

Philippe


"Jean-marc" wrote in message
news:45771466$0$21486$


"Philippe HALET" a écrit dans le message de news:
45770446$0$5527$
Bonjour,



Hello,

Voici un petit bout de code que j'utilise dans mes programmes et qui crée
les répertoires récursivement.



Une petite rectification pour les autres: ta fonction (qui marche
parfaitement)
n'est pas récursive, elle est simplement itérative. A noter que pour
ce genre de traitement, la méthode itérative que tu emploies est
clairement
la meilleure, la récusrsivité n'apporterait rien ici (car pas besoin de
backtracking).

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/





I choose Polesoft Lockspam to fight spam, and you?
http://www.polesoft.com/refer.html