У меня есть шаблон для поиска. Скажите «* .txt».Что означает тильда в шаблоне файлов Windows
Теперь у меня есть файлы, которые я не хочу перечислять там. Я считаю, что они не соответствуют этой схеме. Но на окнах они делают.
Я знаю, что символ тильды используется для краткой формы устаревшего файла 8.3. Это LongFilename.json может быть LONGFI ~ 1.JSO. Но я не знал, что они каким-то образом обрабатываются в окнах в шаблонах поиска файлов. Они есть. Я не могу найти документацию о том, что они означают и как сопоставить файлы по-моему.
Моя проблема НЕ с короткими формами. Или я думаю, что это напрямую не связано с этим.
У меня есть файл «A.txt». Теперь я хотел временный файл и использовал «A.txt ~». Это файлы резервных копий unix, которые обычно не видны. Но на окнах они не должны иметь особого значения сами по себе. Только для моей заявки.
Теперь я хочу, чтобы список файлов * .txt. Команда dir * .txt возвращает к моему удивлению также все файлы .txt ~ в том же каталоге. И я не хочу их. Я использую FindFileFirst из Win32 API. Я не нашел ничего о тильде в документации. FindFileFirst (« .txt», handle) возвращает также файлы «A.txt ~». Могу ли я использовать некоторый флаг, чтобы их исключить? Я знаю, что могу сделать особое условие, например, для «.». а также "..". Как работает оператор? A.txt ~ 1 также сопоставляется. Все ли после исчезновения тильды? Это функция или ошибка?
Я тестирую это на Windows 7 Professional, 64 edition, если это что-то меняет.
Я тоже что-то видел. В моем случае это было не с тильдой. Чтобы использовать ваш пример, я искал «* .txt», но он соответствовал, как будто я сказал «* .txt *». Переименуйте свой файл, чтобы расширение было «.txt1» и посмотрело, все ли оно соответствует. Это может быть не о тильде, а о том, как эта функция выполняет матч. – Darren
О! Вы правы, конечно. Я даже не подумал, что так может быть. Кажется, я не могу сопоставить файл, заканчивающийся чем-то, потому что в конце есть неявный *. A.txt1 действительно соответствует dir * .txt :-( – Pihhan