2013-04-04 9 views

risposta

23

ottenere la lettera di auto dalla directory corrente con:

%cd:~0,2% 

% ~ dp0 è molto utile in un pipistrello: è la cartella in cui si trova il file bat esecuzione.

Forse nella parte superiore dello script, fare qualcosa di simile:

set _SCRIPT_DRIVE=%~d0 
set _SCRIPT_PATH=%~p0 

e quindi eco fuori per il debug. % ~ d0 dovrebbe darti quello che vuoi, ma le altre opzioni che ho menzionato potrebbero essere utili per risolvere la sfida.

+1

Tuttavia,% cd% non fornisce il percorso da cui si sta eseguendo _executing_? È completamente inaccurato per ottenere il percorso del file batch effettivo. Ad esempio, Windows XP sembra avere il bizzarro bug che se si trascina un file su un programma/script per dare quel file rilasciato come argomento al programma da eseguire, il programma verrà lanciato in modo misterioso da c: \ Documents and Settings \\ (nome utente) directory anziché dalla propria cartella. – Nyerguds

+1

Sembra cambiato da XP, ma in Win7 sembra invece eseguire dal percorso del file dei parametri ... che è ancora sbagliato. – Nyerguds

0

È possibile utilizzare %~dp0 per ottenere il/directory di lavoro corrente:

%~d0 
Problemi correlati