IsFile, IsDirectory Тест Windows - PullRequest
       25

IsFile, IsDirectory Тест Windows

1 голос
/ 19 июня 2010

Я пытаюсь преобразовать программу из Linux для использования в Windows, и она вызывает test -f или test -d в Linux. Мне нужно, чтобы сделать то же самое в Windows. Есть ли встроенная команда или другая программа, которую я могу использовать, чтобы сделать то же самое?

Я программирую с использованием FreeBASIC (ужасно, но это то, что я получил).

РЕДАКТИРОВАТЬ: Внешняя программа является лучшим вариантом здесь. Я посмотрел на API, и это не хорошо.

Ответы [ 3 ]

2 голосов
/ 19 июня 2010

Никогда раньше не слышал о FreeBasic, но, глядя на помощь, есть команда DIR, которая поддерживает использование fbDirectory в качестве одного из шаблонов атрибутов для фильтрации.
И, посмотрев немного дальше на эту страницу, я просто увидел, что у них есть образец для проверки, являются ли найденные объекты файлами или каталогами. Просто посмотрите здесь , посмотрите на второй пример на этой странице.

Не уверен, что именно делают эти тестовые команды, но если вы хотите проверить, является ли конкретный объект каталогом, вы должны быть в состоянии вызвать Dir("exactname", fbDirectory, something) Я бы подумал. И затем вы можете проверить файл, поместив Not где-нибудь (при условии, что FreeBasic это поддерживает).

Редактировать: Чтобы создать свой собственный инструмент, здесь - это пример, который показывает крошечное приложение C ++, которое можно легко изменить, чтобы искать каталоги или нет. Найдите в примере FindFirstFile и вскоре после этого он проверяет, доступен ли он только для чтения, что можно изменить для FILE_ATTRIBUTE_DIRECTORY.

2 голосов
/ 10 июля 2010

http://unxutils.sourceforge.net/

вы можете использовать test.exe, как и в Linux

1 голос
/ 19 июня 2010

Не уверен насчет FreeBASIC, вы изучали vbscript? Вы можете использовать FileSystemObject

Dim fso, msg
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FolderExists(fldr)) Then
   'Do Something here
Else
   'Do Something
End If
If (fso.FileExists(filespec)) Then
   'Do Something here
Else
   'Do Something
End If
...