Почему forfiles командной строки Windows возвращает некоторые имена файлов с ~ $ в начале? - PullRequest
1 голос
/ 24 мая 2019

Я новичок в использовании командной строки Windows, поэтому извиняюсь, если это простой вопрос. Я использую forfiles для создания списка всех файлов в папке и ее подкаталогах, причем этот список также включает в себя файлы с последней датой и временем изменения. Это работает правильно, но для некоторых файлов список будет печатать ~ $ в имени файла, даже если фактическое имя файла не включает это. Например, команда возвращает:

ExampleFolder1\ExampleFolder2\~$Examplefilename.docx 10/10/2010 10:10

когда он должен вернуться

ExampleFolder1\ExampleFolder2\Examplefilename.docx 10/10/2010 10:10

Это происходит только для некоторых файлов в печатном списке.

Кроме того, иногда файл с ~ $, напечатанным при запуске forfiles, является именем файла, который фактически не существует в папке, и в некоторых случаях он представляется копией файла, который уже был напечатан, когда forfiles запускается, но измененное время должно отличаться. Например, forfiles может возвращать:

ExampleFolder1\ExampleFolder2\Examplefilename.docx 10/10/2010 10:10
ExampleFolder1\ExampleFolder2\~$Examplefilename.docx 11/11/2010 20:10

Мне было просто интересно, сталкивался ли кто-нибудь еще с этой проблемой?

Единственная теория, которая у меня была, это, может быть, возвращение ~ $ file name для файлов, которые были удалены или вырезаны и перемещены в другое место, но у меня ограниченные знания в командной строке, поэтому я совсем не уверен.

Вот код, который я использовал для печати списка всех файлов и файлов подкаталогов для папки (кроме каталогов):

FORFILES /s /c "cmd /c if @isdir==FALSE echo @path @fdate @fdate"

В идеале я просто хотел бы знать причину, по которой такие файлы печатаются. Спасибо за любую помощь

1 Ответ

2 голосов
/ 24 мая 2019

Файлы Microsoft Office, содержащие ~$ в имени файла, называются "файлы владельца" . Эти файлы являются частью механизма блокировки файлов Office и содержат имя учетной записи пользователя, у которого файл открыт. Эти файлы обычно скрыты как «файлы операционной системы» и иногда остаются, если приложение Office закрывается неправильно.

Вот как приложения Microsoft Office могут отображать это сообщение:

File In Use dialog

Вы можете отобразить эти файлы в проводнике Windows:

  1. Windows 7:

    1. Нажатие Организация
    2. Нажатие Папка и параметры поиска

    Windows 10:

    1. Нажатие Файл
    2. Нажатие Изменение папки и параметров поиска
  2. Открытие диалогового окна Параметры папки

  3. Нажатие Просмотр вкладка
  4. Выбор « Показать скрытые файлы, папки и диски »
  5. Снятие отметки " Скрыть защищенные файлы операционной системы (рекомендуется) "

Folder Options dialog

...