Isfile, isDirectory di prova di Windows
-
28-09-2019 - |
Domanda
Sto cercando di convertire un programma da Linux a uso su Windows, e chiama test -f
, o test -d
su Linux. Ho bisogno di fare la stessa cosa su Windows. Esiste un comando built-in, o un altro programma che può utilizzare per fare la stessa cosa?
Sto programmando con FreeBASIC (orribile, ma è quello che ho ottenuto).
EDIT: un programma esterno è la migliore opzione qui. Ho guardato l'API, e non è buona.
Soluzione
Mai sentito parlare di FreeBasic prima, ma guardando l'aiuto c'è un comando DIR
che supporta l'utilizzo fbDirectory
come uno dei modelli di attributo per filtrare.
E guardando un po 'più in basso in quella pagina ho appena visto che essi hanno un campione per verificare se gli oggetti trovati sono file o directory. Basta guardare qui , sguardo al secondo esempio in quella pagina.
Non sei sicuro di cosa esattamente questi comandi di test fanno, ma se si desidera verificare se un oggetto specifico è una directory si dovrebbe essere in grado di chiamare Dir("exactname", fbDirectory, something)
avevo pensato. E allora si potrebbe verificare un file mettendo un Non in qualche parte (ammesso che supporta FreeBASIC che).
Modifica: Per rendere il proprio strumento, qui 'un esempio che mostra una piccola C ++ app che potrebbe essere facilmente modificato per guardare per le directory o no. Cercare il FindFirstFile
nel campione e poco dopo che controlla se si tratta di sola lettura, che potrebbero essere modificati per FILE_ATTRIBUTE_DIRECTORY.
Altri suggerimenti
http://unxutils.sourceforge.net/
è possibile utilizzare test.exe proprio come sotto linux
Non sei sicuro di FreeBASIC, hai guardato in VBScript? È possibile utilizzare il 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