If this command really exists and works
Hum, sim, existe e funciona.
If it has the same functionality (change directory)
Sim; sim. Isso não quer dizer que alguém não possa simplesmente criar um programa (por exemplo, cd.exe
) que faça outra coisa, mas geralmente é um comando incorporado ao shell e altera o diretório atual.
If there are any problems with its use
Que tipo de problemas? Além de .
e ..
, sua sintaxe é bastante direta. A única complicação é ao alterar o diretório atual em outros volumes (letras de unidade). Além disso, as extensões de comando no Windows estendem seu uso ligeiramente, mas nada que possa causar problemas reais.
If in any OS there is another command-line command that does the same in a better/more elaborate/more frequetly used way.
Não realmente. Pode haver outros comandos, mas cd
é bom e curto e faz o truque. Além de alterar a unidade atual além do diretório (por exemplo, cd /d t:\blah
), como exatamente a alteração do diretório atual pode ser melhorada?
Isso não é exatamente no tópico (embora esteja relacionado), mas aparentemente algumas pessoas não parecem aceitar que o comando CD
não tenha para ser embutido no shell . O fato é que não não ; pode ser um programa externo. Alguns sistemas operacionais facilitam, outros dificultam, e alguns podem até torná-lo impossível, mas o fato é que pode ser externo e não sempre ter que ser construído em cmd , não apenas em 'comando'. (Ele não funcionará nas versões de 64 bits do Windows porque eles diminuíram bastante a compatibilidade com versões anteriores.)
Por exemplo, você pode salvar o script de depuração abaixo como c.scr
e compilá-lo executando debug < c.scr
na linha de comando. Ele criará um arquivo .com
que você pode usar para alterar o diretório atual.
a
mov si,82
mov dl,[si]
or dl,20
sub dl,61
mov ah,e
int 21
mov dl,[si]
cmp dl,d
jz 119
inc si
jmp 10f
xor dl,dl
mov [si],dl
mov dx,82
mov ah,3b
int 21
mov ah,4c
int 21
n c.com
rcx
28
w
q
(Note, ele não suporta nomes extensos de arquivos, então você precisará usar a versão 8.3 . o drive atual também, então você pode mudar o diretório para outro drive em um único movimento, mas ele faz isso de uma maneira muito simples e não faz nenhuma verificação de erros, então tenta mudar para um diretório que começa com uma letra para Ou seja, c c:\windows
funcionará como c \windows
, mas c asd
não funcionará se você tiver uma unidade A:
, a menos que contenha um diretório chamado asd
. estendê-lo e adicionar verificação de erros e tal, se quiser, mas prova meu ponto sobre a possibilidade de cd
ser externo no Windows.
Você também pode salvar o seguinte programa Pascal (por exemplo, como c.pas
) e compilá-lo com o Turbo Pascal ou a versão GO32 do compilador FreePascal (a versão de 32 bits não funcionará porque ele usa a API normal do Windows ):
program cd;
begin
chdir(paramstr(1));
end.
Mais uma vez, basta executá-lo para alterar o diretório atual (por exemplo, 'c.exe "c: \ arquivos de programas" - sim, nomes de pastas longos funcionarão, mas serão convertidos automaticamente em nomes 8.3 após a execução).