isfile ، نوافذ اختبار isDirectory
-
28-09-2019 - |
سؤال
أحاول تحويل برنامج من Linux لاستخدامه على Windows ، وهو يستدعي test -f
, ، أو test -d
على Linux. أحتاجه لفعل الشيء نفسه على Windows. هل هناك أمر مدمج ، أو برنامج آخر يمكنني استخدامه للقيام بنفس الشيء؟
أنا أقوم برمجة باستخدام Freebasic (فظيع ، لكن هذا ما حصلت عليه).
تحرير: البرنامج الخارجي هو الخيار الأفضل هنا. لقد نظرت إلى واجهة برمجة التطبيقات ، وهي ليست جيدة.
المحلول
لم تسمع عن Freebasic من قبل ولكن النظر إلى المساعدة هناك DIR
الأمر الذي يدعم استخدام fbDirectory
كواحدة من أنماط السمات لتصفية ل.
وبالنظر إلى أبعد قليلاً عن تلك الصفحة ، رأيت للتو أن لديهم عينة للتحقق مما إذا كانت الكائنات الموجودة هي ملفات أو أدلة. فقط انظر هنا, ، انظر إلى المثال الثاني في تلك الصفحة.
لست متأكدًا مما تفعله أوامر الاختبار هذه بالضبط ، ولكن إذا كنت ترغب في اختبار ما إذا كان كائن معين هو دليل يجب أن تتمكن من الاتصال Dir("exactname", fbDirectory, something)
فكرت. وبعد ذلك يمكنك اختبار ملف عن طريق وضع عدم وجود في مكان ما (على افتراض أن Freebasic يدعم ذلك).
تحرير: لجعل أداة الخاصة بك ، هنا"عينة SA التي تعرض تطبيق C ++ صغير يمكن تغييره بسهولة للبحث عن الدلائل أم لا. بحث عن FindFirstFile
في العينة وبعد ذلك بفترة وجيزة ، يتحقق ما إذا كان يتم قراءته ، والذي يمكن تغييره لـ file_attribute_directory.
نصائح أخرى
http://unxutils.sourceforge.net/
يمكنك استخدام test.exe تمامًا مثل Linux
لست متأكدًا من Freebasic ، هل نظرت إلى VBScript؟ يمكنك استخدام ملف fileystemObject
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