2010-03-09 19 views
6

Ho un grande script che dipende interamente da PUSHD. Tuttavia improvvisamente quando si digita pushd \\server1\dir1 sto ottenendo:cosa potrebbe causare il fallimento di PUSHD?

C:\Documents and Settings\userNameHere>pushd \\server1\dir1 
' ' 
CMD does not support UNC paths as current directories. 

OK, mi rendo conto che CMD non supporta i percorsi UNC. Ecco perché sto usando PUSHD. Quando cerco questo, trovo molti post che dicono "Quando incontri questo messaggio sui percorsi UNC, dovresti usare PUSHD!". Bene merda, sto incontrando quel messaggio e usando PUSHD.

Ho provato a utilizzare CMD /E:ON perché PUSHD è attivo solo quando le estensioni dei comandi sono abilitate, apparentemente. Stesso risultato

Ho guardato per vedere se in qualche modo ero fuori di lettere di unità (dal momento che PUSHD inizia in Z: e va indietro per trovare una lettera di unità). No.

Ho provato ad avviare il mio cmd in c: \ dir (cd c:\ quindi pushd \\server1\dir1).

Ho confermato che l'unità è lì e che posso accedervi tramite Windows Explorer.

E ora sono fuori dalle idee. riferimento

Pushd: Link

risposta

5

OK la risposta a questa , per quanto posso dire, è che se sei in Y: nelle tue unità mappate allora pushd non funzionerà. Quindi è necessario fare net use y: /delete (o qualche altra lettera di unità) quindi mappare l'unità utilizzando pushd. Ho avuto tutte le lettere di unità mappate, tranne Z e A. Forse Z è riservato? Non so.

Il mio errore è stato controllare per vedere se Z: era disponibile (non era mappato). Apparentemente se hai mappato tutto fino a Y: quindi non mapperà Z :. Non ho idea del perché.

+0

È anche possibile fare clic con il pulsante destro del mouse sull'unità mappata in Risorse del computer e fare clic su "Disconnetti". – ThePersonWithoutC

0

Non sarebbe mappare l'unità alla lettera, come al solito farebbe il trucco prima di 'pushd' ... come nel tuo esempio

 
net use E: \\\\server1\\dir1 
pushd E:\ 
.... 
popd 
+0

pushd non dovrebbe dipendere dall'utilizzo della rete. Il punto di push è "basta capirlo": mappare un'unità e cambiarne il pwd. – jcollum

1

È necessario assicurarsi che le estensioni dei comandi siano abilitate.

Le chiavi di registro sono:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions 
and/or 
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions 

Set a uno 0x1 (Enabled) o 0x0 (Disabled). L'impostazione specifica dell'utente ha la precedenza sulle impostazioni della macchina.

Assicurarsi inoltre che siano disponibili lettere di unità per il comando pushd. Se tutte le lettere di unità sono già mappate e in uso, il comando pushd avrà esito negativo nello stesso modo in cui è stato dettagliato.

Problemi correlati