Я новичок в использовании командной строки 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"
В идеале я просто хотел бы знать причину, по которой такие файлы печатаются. Спасибо за любую помощь