11
votes

Erreur de fichier Windows Bat

J'essaie de lancer un fichier BAT sur un partage de réseau, mais je reçois cette erreur:

'\\dev\applets'
CMD.EXE was started with the above path as the current directory.
UNC paths are not supported.  Defaulting to Windows directory.


1 commentaires

incroyable que cela reste un problème en 2012


5 Réponses :


3
votes

Vous pouvez créer un lecteur réseau mappé. En supposant que vous soyez sous Windows XP, le processus est le suivant:

dans une fenêtre de l'explorateur Windows, P>

  • Cliquez sur Outils CODE> LI>
  • Cliquez sur Carte Lecteur réseau CODE> LI>
  • Sélectionnez une lettre de lecteur et un dossier (E.G. x: code> et \\ dev \ applets code>) li>
  • Cliquez sur Terminer CODE> LI> ul>

    Vous pouvez maintenant simplement taper p> xxx pré>

    dans votre invite de commande et exécutez votre fichier de commandes. p>

    alternativement Strong> P>

    Vous pouvez également utiliser Utilisez NET Utilisez pour mapper le lecteur réseau. E.g. P>

    @echo off
    set alpha=zyxwvutsrqponmlkjihg
    SET completed=false
    
    FOR /L %%i in (1,1,23) DO CALL :MAPDRIVE
    
    :MAPDRIVE
        set drive=%alpha:~0,1%
        set alpha=%alpha:~1,23%
    
        IF NOT %completed%==true (
            ECHO Attempting to mount drive as %drive%
            NET USE %drive%: \\dev\applets
        )
    
        IF %ERRORLEVEL% EQU 0 SET completed=true
    
    
    GOTO END
    
    :END
    


5 commentaires

En supposant que le nom de la part de son montage est \\ dev \ applets , x: fera mapper directement sur partage , de sorte que vous n'avez pas besoin de CD dans elle.


Bonne prise - je viens de copier et collé de mon autre bloc de code.


Je ne peux pas l'essayer ici, mais je suis tout à fait sûr que le "X:" doit aller après les applets \\ Dev \ avec Utilisation nette ...


@Jonas j'ai testé de cette façon et ça marche. En outre, l'article MSDN que j'ai lié à l'utilise de cette manière autour des exemples (par exemple Utilisation nette E: \\ Financial \ Lettres ).


Merci c'est une solution! Et si le lecteur X est déjà utilisé? Comment puis-je attraper l'erreur et utiliser y: plutôt, etc.?



11
votes

Avez-vous une chance de monter le partage réseau en premier? XXX


2 commentaires

... Ou si vous voulez mapper en utilisant la souris, suivez les conseils de @ RB ;-)


Merci une bonne solution! Et si le lecteur Z est déjà utilisé? Comment puis-je attraper l'erreur et utiliser une autre lettre à la place? Ce fichier de commandes doit être accessible à de nombreux utilisateurs qui pourraient déjà avoir cette lettre de lecteur.



6
votes

Si vous voulez aller sans mappage d'entraînement, vous pouvez utiliser Registry Hack de Microsoft Ko. < / p>


2 commentaires

Fonctionne très bien pour moi d'exécuter un script de lot dans mon \\ PSF \ Drive en Parallels sur OS X.


Le lien est mort, donc si vous pouviez encore fournir les détails sur cette réponse qui serait géniale.



6
votes

Vous pouvez obtenir le processeur de ligne de commande pour mapper automatiquement votre chemin UNC sur un lecteur lorsque le script de lot démarre: xxx

lorsque la commande POPD s'exécute ou lorsque votre script se termine, le Le lecteur sera automatiquement démelé.

Le seul inconvénient à ceci est que vous obtenez toujours le message d'erreur lorsque le script s'exécute.


0 commentaires

6
votes

J'ai eu le même problème. Alors que le script fonctionne simplement bien, l'en-tête CMD.exe était ennuyeux.

Supprimer ce texte, j'appelle simplement un CLS comme première ligne de mon script.

Ceci éliminera cette en-tête Nasty CMD.exe et affichera ce que vous voulez après.

J'espère que cela aide.


0 commentaires