O sistema não pode encontrar o arquivo mesmo quando existe

1

Eu tenho um arquivo com o qual meu sistema operacional (Windows 2008 Server) / Sistema de arquivos (NTFS) está tendo problemas. Aqui está um 'dir' do diretório:

07/20/2009  11:28 AM    <DIR>          .
07/20/2009  11:28 AM    <DIR>          ..
07/20/2009  11:28 AM             9,425 when_it_initializes.cs
               1 File(s)          9,425 bytes
               2 Dir(s)  15,536,758,784 bytes free

Estou executando um prompt de comando como 'administrator' e usando o comando 'more' produz:

more when_it_initializes.cs
Invalid parameter - when_it_initializes.cs

Da mesma forma, quando eu executo o 'bloco de notas' no arquivo, recebo

The system cannot find the path specified.

O arquivo foi criado pelo Team City, um servidor de integração contínua que cria meu código. O que é estranho é que ele também cria mais de 10k outros arquivos que eu não tenho problemas para abrir, mesmo quando eles estão em pastas de irmãos.

Uma verificação do proprietário e das leituras apenas parece ok para mim, em comparação com outros arquivos que funcionam. O que é estranho é que se eu usar 'explorer' para iniciar o 'notepad' e abrir o, funciona bem. Eu estou pensando que pode haver algo com o prompt de comando que está afetando isso, mas eu não sei.

O que mais posso verificar para ver por que não é possível abrir?

    
por danlash 20.07.2009 / 17:57

4 respostas

4

Você pode criar um arquivo como este para teste digitando o seguinte, então segure o ALT e digite 255 no teclado numérico, então libere ALT e pressione ENTER . Isso criará um nome de arquivo com um caractere oculto no final.

echo.>when_it_initializes.cs

No entanto, a mensagem de erro que recebo é:

more when_it_initializes.cs
Cannot access file c:\path\to\file\when_it_initializes.cs

Eu posso deletar com:

del when*
    
por 20.07.2009 / 18:44
1

O problema é o caminho total e o tamanho do caractere de arquivo. Se eu correr 'renomear' através do prompt de comando eu recebo:

The filename or extension is too long.

Mas se eu renomear o arquivo pelo explorador para algo como "when.cs", volte ao prompt de comando e execute o 'notepad' ou 'more' ou até mesmo 'rename' ele funcionará.

Parece que o comprimento total do arquivo, incluindo o diretório, está entre 250-260.

    
por 20.07.2009 / 19:45
0

Pode ser um problema com o nome do diretório pai (ou seus pais).

Pode ser um problema com o disco, execute CHKNTFS.

    
por 20.07.2009 / 18:15
0

Não deve ser um problema no sistema de arquivos, pois você pode abrir o arquivo a partir do explorer. Então o problema deveria estar no nome, como Dennis sugeriu. Tente os curingas do shell, como del *.* ou type *.* , e verifique a saída. Se curingas funcionarem, então o problema provavelmente se deve ao uso de caractere ASCII especial (ou caractere Unicode estranho, se suportado - não tenho certeza sobre isso).

    
por 20.07.2009 / 19:57