O Unix introduziu / como o separador de diretórios por volta de 1970. Não sei porque esse caractere exato foi escolhido; o sistema ancestral Multics usou > , mas os projetistas do Unix já usaram > junto com < para redirecionamento no shell (veja Por que o diretório raiz é representado por um sinal / ? ).
O MS-DOS 2.0 introduziu \ como o separador de diretórios no início dos anos 80. O motivo / não foi usado é que o MS-DOS 1.0 (que não suportava diretórios) já estava usando / para introduzir opções de linha de comando. Esse uso de / foi obtido de CP / M , que tirou de VMS . Você pode ler uma explicação mais detalhada sobre o porquê de essa escolha ter sido feita no blog de Larry Osterman <- e o separador de diretório para / , mas ele não ficava).
/ é reconhecido pela maioria das APIs no nível do programador (em todas as versões do DOS e do Windows). Assim, você pode frequentemente, mas nem sempre usar o / como um separador de diretórios no Windows. Uma exceção notável é que você não pode usar / como um separador após o prefixo \? que (mesmo no Windows 7) é a única maneira de especificar um caminho usando Unicode ou contendo mais de 260 caracteres.
Alguns elementos da interface do usuário suportam / como um separador de diretórios no Windows, mas não em todos. Alguns programas simplesmente passam nomes de arquivos para a API subjacente, então eles suportam / e \ indiferentemente. No interpretador de comandos (em command.com ou cmd ), você pode usar / em muitos casos, mas nem sempre; isso é parcialmente dependente da versão do Windows (por exemplo, cd /windows funciona no XP e 7 mas não no Windows 9x). A caixa de entrada do caminho do Explorer aceita / (pelo menos do XP para cima; provavelmente porque também aceita URLs). Por outro lado, o diálogo padrão de arquivo aberto rejeita barras .