Vous pouvez utiliser la exist
commande pour vérifier si le chemin est valide:
if exist \\192.168.1.1\drive1 net use s: \\192.168.1.1\drive1
Si vous devez fournir des informations d'identification (c'est-à-dire que votre utilisateur Windows actuel n'a pas accès à ce partage), ajoutez /user
:
if exist \\192.168.1.1\drive1 net use s: \\192.168.1.1\drive1 /user:myDomain\myUser myPassword
S'il y a une chance que le partage existe déjà et que vous souhaitez le supprimer s'il n'est plus disponible, ajoutez une else
clause:
if exist \\192.168.1.1\drive1 (net use s: \\192.168.1.1\drive1) else (net use /delete s:)
Et encore une fois, ajoutez le /user
si vous en avez besoin.
Vous pouvez lier tout cela ensemble dans un fichier de commandes similaire au suivant:
@echo off
if exist \\192.168.1.1\drive1 (set shareExists=1) else (set shareExists=0)
if exist y:\ (set driveExists=1) else (set driveExists=0)
if %shareExists%==1 if not %driveExists%==1 (net use y: \\192.168.1.1\drive1)
if %shareExists%==0 if %driveExists%==1 (net use /delete y:)
set driveExists=
set shareExists=
Powershell rendrait cela facile:
la source
Il est plus simple d'essayer de le mapper en utilisant l'explorateur de fichiers Windows ou en utilisant la commande net use. Soit ça marche, soit ça ne marche pas.
la source
Ceci est le code final:
J'utilise
Test-Path \\192.168.1.1\volume1
comme suggéré pour vérifier si le chemin réseau est disponible et((New-Object System.IO.DriveInfo("Y:")).DriveType -ne "NoRootDirectory")
pour vérifier si la lettre de lecteur existe.la source