سؤال
أحتاج إلى إنشاء ملف نصي يسمى "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)
لا تنتمي إلى StackOverflow