J'essaie d'utiliser OS.File pour détecter si l'utilisateur a tapé un chemin absolu, ou juste un nom de dossier. J'utilise OS.File.split et cherche l'attribut absolute
. Toutefois, pour Windows, il retourne vrai pour absolu, même pour quelque chose comme ça \\blah\\rawr
alors ce que je fais est en train de vérifier le lecteur.OS.File pour savoir si l'utilisateur a tapé juste un nom de dossier ou un chemin absolu
Est-ce un bon moyen multi-plateforme/os pour tester si son absolu ou juste un chemin de dossier?
var tp = '\\rawr\\rawr\\my new profile' //var typedPath
var tpSplit = OS.Path.split(tp); //var typedPathSplit
console.info('tpSplit:', tpSplit);
var IsAbsolute = 'winIsAbsolute' in OS.Path ? tpSplit.winDrive ? true : false : tpSplit.absolute;
Ceci sert à créer un nouveau profil. Si l'utilisateur tape simplement un nom, alors c'est un profil relatif, si l'utilisateur tape un chemin absolu par rapport à un profil non relatif, je fais OS.File.makeDir(tp, {from:tpSplit.components[0]})
pour créer le répertoire. (J'espère {from:tpSplit.components[0]}
ne pas causer des problèmes sur Linux dans les composants linux [0] est vide comme /home/desktop/new folder
)
Merci homme ouais je l'ai noté que, dans la question. C'est un problème parce que si l'utilisateur tape cela, et que je dis 'from: tpSplit.components [0]' 'makeDir' échoue. – Noitidart
@Noitidart alors votre question n'est pas comment trouver si un chemin est absolu ou non (j'ai édité ma réponse pour des raisons de clarté) – paa
Pour la partie else ne pouvons-nous pas simplement compter sur 'path.absolute' – Noitidart