In Linux, possiamo andare a casa dell'utente inserendo il carattere tilde ( ~
) dopo cd
:
cd ~
Come fare lo stesso in Windows?
Ogni volta, devo digitare:
cd C:\Document and Settings\freewind
È troppo noioso.
In Linux, possiamo andare a casa dell'utente inserendo il carattere tilde ( ~
) dopo cd
:
cd ~
Come fare lo stesso in Windows?
Ogni volta, devo digitare:
cd C:\Document and Settings\freewind
È troppo noioso.
Risposte:
cd /d "%HOMEDRIVE%%HOMEPATH%"
lo farei - ma non sono sicuro che lo consideri un miglioramento.
Puoi anche definire un alias per il comando sopra:
doskey cdhome=cd /d "%HOMEDRIVE%%HOMEPATH%"
Dopo questo, è semplicemente cdhome
.
~
.
Puoi usare cd /d %USERPROFILE%
se usi cmd.
oppure puoi usare cd ~
se usi PowerShell.
c:\documents and settings\...
, gli spazi la romperanno a meno che non sia quotata)
cd
è un'eccezione. Dal momento che richiede sempre un singolo argomento, la citazione non è necessaria. (Su Windows, i programmi e i built-in devono analizzare da soli la propria riga di comando, la shell non lo fa.) Tuttavia, è sempre consigliabile citare i percorsi .
cmd.exe
se stesso e il suo stravagante /c
.
/c "C:\foo bar\baz" "my file.txt"
o /c "\"C:\foo bar\baz\" \"my file.txt\""
o /c ""C:\foo bar\baz" "my file.txt""
? La cosa peggiore è che l'analisi dipende dal fatto che sia /s
stato specificato in precedenza, dalla presenza di caratteri speciali, dal nome dell'eseguibile C:\foo bar\baz
o semplicemente C:\foo
...
Una possibilità è utilizzare il subst
comando dal prompt dei comandi:
subst z: C:\Document and Settings\freewind
Ogni volta che vai sull'unità Z :, guarderai la tua cartella utente.
Il rovescio della medaglia è che è necessario eseguirlo ogni volta che accedi. Ho usato un file batch e l'ho appena inserito nella mia cartella di avvio, ma probabilmente ci sono soluzioni più eleganti a questo.
Il vantaggio è che a differenza di un alias doskey, funziona universalmente (Windows Explorer, sfoglia la finestra di dialogo, ecc.), Non solo quando si cambiano le directory al prompt dei comandi. È particolarmente utile per i vecchi programmi con vecchie finestre di dialogo di ricerca che hanno lettere di unità al livello più alto, piuttosto che "desktop".
È possibile creare un file batch chiamato ~.bat
contenendo
@echo off
cd /d %USERPROFILE%
E aggiungilo alla tua variabile PATH (Start -> [tasto destro del mouse su "Computer"] -> Proprietà -> "Impostazioni di sistema avanzate" [nella colonna di sinistra] -> "Variabili d'ambiente"
Da lì, basta modificare la variabile PATH per includere la cartella contenente il ~.bat
file. (Questo ti permette di invocare il tuo script da qualsiasi luogo usando solo il nome del file, non il percorso assoluto del file)
Inoltre, assicurati che la PATHEXT
variabile di ambiente contenga un punto .BAT
(questo ti consente di digitare ~
invece di ~.bat
).
Quando è necessario utilizzarlo, è sufficiente accedere ~
al prompt dei comandi. Questa soluzione è persistente: non dovrai configurarla ogni volta che avvii una shell e non dovrai hackerare il registro.
Sfortunatamente, non sono a conoscenza di una soluzione perfetta, ma ci sono un paio di opzioni hacky:
Opzione 1: imposta ~ come alias di comando con doskey
doskey ~=cd /d %USERPROFILE%
Ciò ti consentirà semplicemente di digitare ~
e di averlo chdir sul tuo homedir.
C:\>~
C:\Users\a>
Ovviamente, questo accorcia il numero di sequenze di tasti per tornare a casa (anche rispetto a Linux), ma è meno robusto poiché non puoi davvero usarlo come parte di un altro percorso o fare molto con esso oltre al semplice cd-home.
Opzione 2: imposta ~ come variabile
Un'altra opzione, se si desidera un'opzione più solida, è impostare una var:
set ~="%USERPROFILE%"
ma usando questo sarebbe usato come:
E:\>cd /d %~%
C:\Users\a>
Può anche essere iniettato nella maggior parte dei percorsi e non ti limita semplicemente a fare cd a casa.
Entrambe le opzioni contemporaneamente
Inoltre, è possibile implementare entrambi i metodi contemporaneamente. Se hai% 's attorno ad esso, allora utilizzerà la variabile - altrimenti tratterà ~
come un comando.
C:\>:: ECHO (display) THE VALUE OF %~%
C:\>echo %~%
C:\Users\a
C:\>:: ChDir to ~\DESKTOP
C:\>cd /d %~%\Desktop
C:\Users\a\Desktop>:: USE THE ~ COMMAND
C:\Users\a\Desktop>~
C:\Users\a>
Un altro suggerimento (correlato in qualche modo):
Questo è meno probabile che sia accettabile su una macchina aziendale, almeno sul tuo PC di casa, per salvare ulteriori battiture, non è una cattiva idea rendere il tuo %USERPROFILE%
dir un nome semplice. Come puoi vedere dai miei esempi precedenti, il mio utente dir è C:\Users\a
: avevo sempre "aplocher" o "adamp" e quando passavo a una sola lettera, era magico.
Usando PowerShell, puoi provare il seguente metodo per navigare tra le directory da qualsiasi luogo purché tu conosca il tuo nome utente e ti siano concesse le autorizzazioni per la directory dei file.
cd \..\Users\yourUserName\Documents
cd \..\Users\yourUserName\Downloads
cd \..\Users\yourUserName\Desktop
cd \..\Users\yourUserName\music
Vedi l'esempio seguente in PowerShell (64 bit). Ho provato questo su una scatola di Windows 7 Pro 64 bit.