C'è un modo per mantenere la cronologia dei comandi cmd tra le sessioni?
C'è un modo per mantenere la cronologia dei comandi cmd tra le sessioni?
Risposte:
Passare a utilizzare PowerShell e seguire le istruzioni nel sito seguente per abilitare la cronologia:
In alternativa, in cmd.exe, è possibile utilizzare "doskey / history" alla fine della sessione per mostrare ciò che è stato digitato in quella sessione, ma non c'è modo di caricarlo realmente nella sessione successiva.
Ho trovato 2 modi, nessuno dei quali richiede il passaggio a PowerShell.
cmd.exema è una buona risposta, e il tintinnio supporta anche una modalità di iniezione.
cmdcon esso, nessun problema, molto soddisfatto.
Il salvataggio della cronologia è un piccolo flusso di lavoro: ecco un modo meno "pesante" per farlo (niente librerie esterne).
Crea un file bat / cmd per impostare la tua cronologia, in questo caso l'ho chiamato MyEnvironment.cmd:
doskey save=doskey /history $g$g C:\CmdHistory.log
doskey quit=doskey /history $g$g C:\CmdHistory.log $T exit
doskey history=find /I "$*" C:\CmdHistory.log
cls
Quindi esegui questo da "Start-> Esegui" (puoi anche impostare un alias anche per questo):
cmd.exe /K C:\MyEnvironment.cmd
Ogni volta che chiudo una sessione premo "esci" - o se ho paura di perdere la cronologia a metà sessione premo "salva". Se voglio chiedere qualcosa nella storia, premo semplicemente "cronologia PAROLA CHIAVE".
Per il commento di @ dave_thompson_085, la AutoRunfunzione funziona bene se non si desidera utilizzare l' /Kopzione. Se la chiave di registro è stata impostata correttamente, non è necessario che sia presente .cmdo .batmeno %AppData%, può trovarsi nella stessa posizione in cui si trova già.
Se si utilizza la %AppData%posizione, tenere presente che cmd probabilmente cercherà il file batch nella cartella "Roaming" (anziché nella radice AppData).
Maggiori informazioni sulla AutoRunfunzione CMD: https://superuser.com/a/302553/333316
$ginserisce a >ed $tè un separatore di comandi.
>e &&caratteri direttamente nell'alias doskey?
doskey quit=doskey /historye salvare l'output della creazione della macro in un file di log (niente o un errore); poi chiudi la finestra (scartando tutto). -Potresti sfuggire a quei personaggi con un ^invece, credo. Come ^>^>e ^&(... e sì, hai solo bisogno di una e commerciale)