我正在尝试将程序从 Linux 转换为在 Windows 上使用,它调用test -f
, 或test -d
在 Linux 上。我需要它在 Windows 上做同样的事情。是否有内置命令,或者我可以使用其他程序来做同样的事情?
我正在使用 FreeBASIC 编程(可怕,但这是我得到的)。
编辑:外部程序是这里的最佳选择。我查看了API,它并不好。
我正在尝试将程序从 Linux 转换为在 Windows 上使用,它调用test -f
, 或test -d
在 Linux 上。我需要它在 Windows 上做同样的事情。是否有内置命令,或者我可以使用其他程序来做同样的事情?
我正在使用 FreeBASIC 编程(可怕,但这是我得到的)。
编辑:外部程序是这里的最佳选择。我查看了API,它并不好。
以前从未听说过 FreeBasic,但在查看帮助时,有一个DIR
命令支持将fbDirectory
其用作要过滤的属性模式之一。
在该页面上稍微往下看,我刚刚看到他们有一个示例,用于检查找到的对象是文件还是目录。看看这里,看看那个页面上的第二个例子。
不确定这些测试命令究竟做了什么,但如果你想测试一个特定的对象是否是一个目录,你应该可以调用Dir("exactname", fbDirectory, something)
我想。然后您可以通过在某处放置 Not 来测试文件(假设 FreeBasic 支持)。
编辑:为了制作您自己的工具,这里有一个示例,它显示了一个可以轻松更改以查找目录或不查找目录的微型 C++ 应用程序。在示例中查找 ,FindFirstFile
然后不久它会检查它是否是只读的,可以为 FILE_ATTRIBUTE_DIRECTORY 更改它。
http://unxutils.sourceforge.net/
你可以像在linux下一样使用test.exe
不确定 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