IsFile, isdirectory test de Windows
-
28-09-2019 - |
Question
Je suis en train de convertir un programme de Linux à utiliser sur Windows et il appelle test -f
ou test -d
sur Linux. J'ai besoin pour faire la même chose sous Windows. Y at-il une commande intégrée, ou un autre programme, je peux utiliser pour faire la même chose?
Je suis programmation à l'aide FreeBASIC (horrible, mais c'est ce que je suis).
EDIT: Un programme externe est la meilleure option ici. Je l'ai regardé l'API, et ce n'est pas bon.
La solution
Jamais entendu parler de FreeBasic avant mais en regardant à l'aide, il y a une commande qui DIR
en utilisant des supports fbDirectory
comme l'un des motifs d'attributs à filtre pour.
Et en regardant un peu plus bas sur cette page je viens de voir qu'ils ont un échantillon pour vérifier si les objets trouvés sont des fichiers ou des répertoires. Il suffit de regarder , regardez le second exemple sur cette page.
Je ne sais pas exactement ce que les commandes de test font, mais si vous voulez tester si est un répertoire que vous devriez être en mesure d'appeler Dir("exactname", fbDirectory, something)
j'avais pensé un objet spécifique. Et vous pouvez tester un fichier en mettant un pas quelque part (en supposant que les supports FreeBasic que).
Edit: Pour faire votre propre outil, 'exemple qui montre sa minuscule C ++ app qui pourrait facilement être changé à la recherche de répertoires ou non. Recherchez le FindFirstFile
dans l'échantillon et peu de temps après qu'il vérifie si c'est en lecture seule, ce qui pourrait être changé pour FILE_ATTRIBUTE_DIRECTORY.
Autres conseils
http://unxutils.sourceforge.net/
vous pouvez utiliser test.exe comme sous linux
ne suis pas sûr FreeBASIC, avez-vous regardé dans vbscript? Vous pouvez utiliser le 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