Comando per visualizzare tutti i comandi di Windows


1

Quando scrivo helpnella riga di comando di Windows, elenca un sacco di comandi. Tuttavia trovo che ci sia un intero insieme di comandi che non compaiono in questo elenco, ad esempio molti comandi di rete come ping, tracert, arp, netstat, netecc. Sono sicuro che ci sia anche un intero gruppo di comandi non di rete che non è elencato.

Quindi la mia domanda è questa. Perché questi comandi aggiuntivi non sono mostrati in help? Esiste solo un sottoinsieme / gruppo di comandi che helpmostra? Esiste un comando / metodo per elencare tutti i comandi che possono essere eseguiti in Windows? (Non sto parlando di ulteriori .exes che vengono aggiunti al percorso quando viene installato un nuovo software ..)


quale versione di windows?
EBGreen

Bene, senza conoscere il tuo sistema operativo questo potrebbe non essere applicabile. Non è comunque una risposta direttamente alla tua domanda. Se si apre un prompt di Powershell e si digita Get-Command, verranno elencati tutti i comandi disponibili. Comandi integrati (cmdlet), alias, exes, ecc.
EBGreen

Risposte:


1

I comandi elencati nella guida sono comandi che si trovano all'interno della stessa shell del prompt dei comandi. Gli altri programmi come ping, tracert ecc. Sono applicazioni che si trovano nelle directory dei file di sistema. Puoi eseguire dir nella directory% systemroot% se vuoi vedere tutte le applicazioni. Nota: non tutte le applicazioni verranno eseguite nella shell del prompt dei comandi o potrebbero non avere un'interfaccia della riga di comando.


1

Non vengono mostrati helpperché non sono definiti in nessun posto.

I comandi mostrati in helpsono noti come "built-in" (ovvero "comandi integrati"). Sono forniti dalla shell ( cmd.exe) e sono solo funzioni interne. Tutto il resto è un programma esterno che viene eseguito ed eseguito con gli argomenti forniti.

Questi programmi possono essere ovunque nel tuo %PATH%. %PATH%è una variabile di sistema che contiene un elenco di percorsi per la ricerca di programmi che possono essere eseguiti. Fondamentalmente è solo un elenco di cartelle.

Quando esegui ping X.X.X.X, inizia a guardarli fino a quando non trova una cartella con un file chiamato ping.exee tenta di eseguirlo X.X.X.Xcome primo parametro. (Suggerimento, penso ping.exesia C:\Windows\System32, dove vive la maggior parte delle utility che hai elencato)

Perché non elenca tutti i programmi possibili? Perché potrebbero essercene migliaia, e elencarli tutti potrebbe richiedere molto, molto tempo (e lo scopo helpè quello di elencare i built-in, quindi sai quali comandi sono forniti dalla shell e dovrebbero essere disponibili su qualsiasi sistema Windows e che non sono e potrebbero essere mancanti o diversi su un particolare sistema Windows).


A un'analisi più approfondita, sembrano esserci alcuni comandi elencati in helpcui sono comandi esterni (come icacls). Posso solo speculare sul motivo per cui sono stati scelti per l'inclusione, ma quanto sopra vale ancora come regola generale per le shell (siano esse per Windows, Linux o OS X) e il 90% + dei comandi elencati da help.



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.