AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1814098
Accepted
mklement0
mklement0
Asked: 2023-10-26 03:15:36 +0800 CST2023-10-26 03:15:36 +0800 CST 2023-10-26 03:15:36 +0800 CST

dir /ta para exibir os horários do último acesso às vezes mostra os horários da última gravação

  • 772

No meu sistema Windows 11 22H2, verifiquei que os carimbos de data/hora do último acesso são mantidos ( fsutil behavior query disableLastAccess) e no PowerShell eles podem ser recuperados.

No entanto, com o comando cmd.exede , ou seja, exibir os arquivos pela hora do último acesso , situacionalmente parece se comportar da mesma forma que , ou seja, exibi-los pela hora da última gravação .dir/ta/tw

Isso só acontece às vezes :

  • Isso acontece com certos arquivos, mas parece não haver nada de especial neles (arquivos de texto apenas com o Aconjunto de atributos).

  • Quando isso acontece, o File Explorer também mostra o carimbo de data/hora da última gravação (mas o PowerShell sempre mostra o carimbo de data/hora correto.

Não consigo reproduzir isso de forma confiável : o código de teste do PowerShell abaixo funciona conforme esperado.

Isso está relacionado ao armazenamento de carimbos de data e hora em cache ? Mas, em caso afirmativo, por que o PowerShell é capaz de recuperá-los? Para os arquivos afetados, o problema persiste mesmo depois de algumas horas.


Código de teste do PowerShell, que não apresenta o sintoma.

# Create a test file.
1 > _test.txt

# Assign distinctive timestamps.
(Get-Item _test.txt).LastWriteTime = '1970-01-01'
(Get-Item _test.txt).LastAccessTime = '1970-01-01'

# Read the file, so as to update its last-access timestamp.
$null = Get-Content _test.txt

# List the file with its last-access timestamp.
cmd /c dir _test.txt /ta

# Do the same in PowerShell
Get-Item _test.txt | Select-Object Name, LastAccessTime
cmd.exe
  • 1 1 respostas
  • 12 Views

1 respostas

  • Voted
  1. Best Answer
    harrymc
    2023-10-26T03:55:53+08:002023-10-26T03:55:53+08:00

    O problema pode ser que existem vários horários de último acesso. Realmente.

    O artigo da Microsoft comportamento fsutil diz:

    Uma hora é o tempo máximo que o NTFS pode adiar a atualização do último horário de acesso no disco. Se o NTFS atualizar outros atributos de arquivo, como Hora da última modificação, e uma atualização da Hora do último acesso estiver pendente, o NTFS atualizará a Hora do último acesso com as outras atualizações sem impacto adicional no desempenho.

    Para reduzir a sobrecarga do disco, o Windows deve manter o horário do último acesso na memória por uma hora antes de ser descarregado no disco, a fim de minimizar a E/S do disco. Então você já tem dois tempos de acesso e, dependendo da API usada, diferentes ferramentas podem reportar qualquer um dos tempos de maneira inconsistente.

    A questão do último acesso foi investigada por Msuhanov no artigo
    The (in)consistency of last access timestamps .

    Seus resultados não foram muito encorajadores:

    • A gravação em disco do último horário de acesso pode ocorrer após um período de tempo muito maior que uma hora. Num caso, só foi escrito 12 horas depois, quando Msuhanov desistiu e desligou o computador. Durante esse período, um programa pode obter o horário antigo ou o novo, dependendo de como/onde está sendo obtido.

    • Msuhanov também descobriu que havia dois últimos tempos de acesso : um em um registro de arquivo e outro em um registro de índice ($I30). Então, dependendo da função da API de acesso, ou da função da API de modificação, estaria-se tratando de uma ou de outra, sem garantia de consistência.

    Então agora temos três últimos tempos de acesso no Windows!

    Minha conclusão é que a implementação do último horário de acesso no Windows é complicada e não confiável. Não sei quais desses carimbos de data e hora são usados dir, o da memória ou o do disco. É possível que dirmostre o disco um, e isso muda quando o Windows decide gravar o da memória no disco.

    Eu não recomendaria confiar nos últimos horários de acesso para estar correto. Não é uma ferramenta confiável e sua implementação é estranha.

    • 1

relate perguntas

  • O CMD do Windows redefiniu a variável PATH para o padrão

  • O Windows não reinicia, não consegue acessar o Gerenciador de tarefas ou iniciar determinados programas

  • Como criar um script que ouça as alterações de conteúdo e toque nas pastas pai até o fim?

  • Qual é o comando para redefinir uma instalação do Windows sem excluir nenhum arquivo

  • O Windows 2016 não executa o arquivo .bat

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Vickel O Firefox não permite mais colar no WhatsApp web? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve