سؤال

أحتاج إلى إنشاء ملف نصي يسمى "listfile.txt"في المجلد ج: المستندات والإعدادات جميع المستخدمين بيانات التطبيق netapp system لذلك فعلت vbscript التالية لتحقيق ذلك

Const CommonAppData = &H23&  ' the second & denotes a long integer '
Const OSCPATH = "\netapp\system"
Dim fso, MyFile

Set objShell  = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(CommonAppData)

Set objFolderItem = objFolder.Self

'MsgBox objFolderItem.Name & ": " & objFolderItem.Path


Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("objFolderItem.Path & OSCPATH\listfile.txt", True)
MyFile.WriteLine("This is a test.")
MyFile.Close

ولكن لم يتم العثور على أخطاء الرمي التي تذكر المسار

** مضيف Windows Script

البرنامج النصي: c: المستندات والإعدادات puthuprf desktop test.vbs السطر: 15 char: 1 خطأ: لم يتم العثور على مسار رمز: 800a004c

المصدر: خطأ في وقت تشغيل Microsoft VBScript

نعم
---------------------------**

هل كانت مفيدة؟

المحلول

هذا الخط في البرنامج النصي الخاص بك غير صحيح:

Set MyFile = fso.CreateTextFile("objFolderItem.Path & OSCPATH\listfile.txt", True)

لإدراج المتغيرات وخصائص الكائن في سلسلة ، تحتاج إلى تسلسلها باستخدام & المشغل ، مثل هذا:

Set MyFile = fso.CreateTextFile(objFolderItem.Path & OSCPATH & "\listfile.txt", True)


لاحظ أنه يوصى باستخدام BuildPath طريقة الجمع بين أجزاء متعددة من المسار ، لأنها تحررك من إضافة فواصل المسار اللازمة (\) يدويًا:

strFileName = fso.BuildPath(objFolderItem.Path, OSCPATH)
strFileName = fso.BuildPath(strFileName, "listfile.txt")

Set MyFile = fso.CreateTextFile(strFileName, True)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top