Pregunta

Estoy tratando de convertir un programa de Linux para su uso en Windows, y se llama test -f o test -d en Linux. Lo necesito para hacer lo mismo en Windows. ¿Hay un comando integrado, u otro programa que pueda usar para hacer la misma cosa?

estoy programando utilizando FreeBASIC (horrible, pero es lo que tengo).

EDIT: Un programa externo es la mejor opción en este caso. He mirado en la API, y no es bueno.

¿Fue útil?

Solución

Nunca oído hablar de FreeBasic antes, pero mirando a la ayuda hay un comando DIR que admite el uso de fbDirectory como uno de los patrones de atributos para filtrar.
Y mirando un poco más abajo en esa página que acabo de ver que tienen una muestra para comprobar si los objetos encontrados son archivos o directorios. Basta con mirar aquí , mirada en el segundo ejemplo de esa página.

No está seguro de lo que exactamente esos comandos de prueba hacen, pero si desea probar si un objeto específico es un directorio que debe ser capaz de llamar Dir("exactname", fbDirectory, something) que había pensado. Y entonces se podría probar para un archivo poniendo un No en algún lugar (suponiendo que los apoyos que FreeBasic).

Editar: Para hacer su propia herramienta, aquí 'sa de ejemplo que muestra una pequeña C ++ aplicaciones que podrían ser fácilmente modificado para tener en cuenta o no los directorios. Busque el FindFirstFile en la muestra y poco después de que se comprueba si se trata de sólo lectura, lo que podría cambiar para FILE_ATTRIBUTE_DIRECTORY.

Otros consejos

http://unxutils.sourceforge.net/

Puede utilizar test.exe al igual que en Linux

No está seguro acerca FreeBASIC, ¿has mirado en VBScript? Se podría utilizar 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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top