Windows IsFile,IsDirectory测试窗口

Windows IsFile,IsDirectory测试窗口,windows,batch-file,cmd,freebasic,Windows,Batch File,Cmd,Freebasic,我正在尝试将一个程序从Linux转换为在Windows上使用,它在Linux上调用test-f,或test-d。我需要它在Windows上做同样的事情。是否有一个内置的命令,或其他程序,我可以用来做同样的事情 我正在使用FreeBASIC编程(很糟糕,但这就是我得到的) 编辑:外部程序是这里的最佳选择。我看过API,但不太好。对FreeBASIC不太确定,你看过vbscript了吗?您可以使用FileSystemObject Dim fso, msg Set fso = CreateObject

我正在尝试将一个程序从Linux转换为在Windows上使用,它在Linux上调用
test-f
,或
test-d
。我需要它在Windows上做同样的事情。是否有一个内置的命令,或其他程序,我可以用来做同样的事情

我正在使用FreeBASIC编程(很糟糕,但这就是我得到的)


编辑:外部程序是这里的最佳选择。我看过API,但不太好。

对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

对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

以前从未听说过FreeBasic,但在帮助中,有一个
DIR
命令支持使用
fbDirectory
作为要筛选的属性模式之一。
再往下看一看,我刚刚看到他们有一个样本,用于检查找到的对象是文件还是目录。看看,看看那页的第二个例子

我不知道这些测试命令到底是做什么的,但是如果你想测试一个特定的对象是否是一个目录,你应该能够调用
Dir(“exactname”,fbDirectory,等等)
我想。然后,您可以通过在某个地方放置Not来测试文件(假设FreeBasic支持)


<>编辑:制作自己的工具,这是一个示例,它显示了一个小型的C++应用程序,可以很容易地更改它来查找目录。在示例中查找
FindFirstFile
,然后检查它是否为只读,可以更改为文件属性目录。

以前从未听说过FreeBasic,但在帮助中有一个
DIR
命令,它支持使用
fbDirectory
作为要筛选的属性模式之一。
再往下看一看,我刚刚看到他们有一个样本,用于检查找到的对象是文件还是目录。看看,看看那页的第二个例子

我不知道这些测试命令到底是做什么的,但是如果你想测试一个特定的对象是否是一个目录,你应该能够调用
Dir(“exactname”,fbDirectory,等等)
我想。然后,您可以通过在某个地方放置Not来测试文件(假设FreeBasic支持)

<>编辑:制作自己的工具,这是一个示例,它显示了一个小型的C++应用程序,可以很容易地更改它来查找目录。在示例中查找
FindFirstFile
,之后不久它会检查它是否为只读,这可以更改为文件属性目录。

您可以像在linux下一样使用test.exe


您可以像在linux下一样使用test.exe

为什么要将其标记为批处理?你想要批处理文件解决方案还是FreeBASIC解决方案?是的,批处理,比如linux上的
test-f
。只是编辑它来反映它。添加一些快速的信息到我的答案,关于你如何能够整理你自己的工具(即使你不知道C++,你可能能够从这个样品中去掉外壳,然后问其他问题来解决剩下的问题)。为什么这个标签<代码>批量< /代码>?你想要批处理文件解决方案还是FreeBASIC解决方案?是的,批处理,比如linux上的
test-f
。只是编辑它来反映。添加一些快速信息,我的答案,你可能如何能够整理出自己的工具(即使你不知道C++,你可能能从这个样本中去掉外壳,然后问其他问题来解决任何遗留问题)。如果我没有为Linux创建2000行代码,我会做的。一个外部程序可以工作:
exec(“isfile filename”)
。如果我没有为Linux创建2000行代码,我可以这样做。外部程序可以工作:
exec(“isfile filename”)
。是的,如果它100%工作就好了。我在某个地方读到Dir()有bug,这是没有文档记录的。我来试试。@bradlis7:如果语言功能有缺陷,你最好按照Ed的建议:)。但是,如果你可以执行外部可执行文件并获得返回值,那么在C++中编写一个小的EXE或者查找它(很容易找到一些示例代码),并且用一些免费的C++编译器自己创建工具,很容易,最后,我使用了DIR()和FB目录。它似乎起作用了。我坚持使用freebasic,不幸的是……是的,如果它100%有效的话,那就太好了。我在某个地方读到Dir()有bug,这是没有文档记录的。我来试试。@bradlis7:如果语言功能有缺陷,你最好按照Ed的建议:)。但是,如果你可以执行外部可执行文件并获得返回值,那么在C++中编写一个小的EXE或者查找它(很容易找到一些示例代码),并且用一些免费的C++编译器自己创建工具,很容易,最后,我使用了DIR()和FB目录。它似乎起作用了。不幸的是,我被freebasic困住了。。。