-1
Set objFSO=CreateObject("Scripting.FileSystemObject") 
outFile="C:\Program Files\number2.vbs" 
Set objFile = objFSO.CreateTextFile(outFile,True) 
objFile.WriteLine "Set objWshShell = CreateObject(""WScript.Shell"")" 
objFile.WriteLine "objWshShell.RegWrite ""HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFileMenu"", 1, ""REG_DWORD"" " 
objFile.WriteLine "Set  objWshShell = Nothing" 
objFile.Close

------------------Below part doesnt work in script-------------------------------

 ObjFile.Attributes = objFile.Attributes XOR 2

---------------------------Below part doesnt work in script-------------------

Set objShell = Wscript.CreateObject("WScript.Shell")
objShell.Run "C:\Program Files\number2.vbs" 
Set objShell = Nothing

objshell.run を実行すると、指定されたファイルが見つからないと表示され、objfile 属性については、属性のメソッドが見つからないと表示されますか?? 実行部分なしでファイルを実行したところ、機能してファイルが作成されたので、最初にファイルを作成すると実行が機能しないのはなぜですか?

4

2 に答える 2

1

TextStreamFileは異なるオブジェクトです。また、引用符を逃した。

Set objFSO = CreateObject("Scripting.FileSystemObject")
outFile    = "number2.vbs"

' if the file exist...
If objFSO.FileExists(outFile) Then
    ' if it hidden...
    If objFSO.GetFile(outFile).Attributes And 2 Then
        ' force delete with DeleteFile()
        objFSO.DeleteFile outFile, True
    End If
End If

' create TextStream object (that's not a File object)
Set objStream = objFSO.CreateTextFile(outFile, True)
WScript.Echo TypeName(objStream) '>>> TextStream
objStream.WriteLine "MsgBox ""Test"" "
objStream.Close

' get the File object
Set ObjFile = objFSO.GetFile(outFile)
WScript.Echo TypeName(ObjFile)   '>>> File
' now you can access that File properties
' and change it attributes too
ObjFile.Attributes = objFile.Attributes XOR 2

' surround your path with quotes (if needs)
outFile = objFSO.GetAbsolutePathName(outFile)
If InStr(outFile, " ") Then
    outFile = Chr(34) & outFile & Chr(34)
End If
WScript.Echo outFile

Set objShell = CreateObject("WScript.Shell")
objShell.Run outFile 'run the file
于 2013-04-01T12:24:56.273 に答える
0
ObjFile.Attributes = objFile.Attributes XOR 2

この行の「オブジェクトはこのプロパティまたはメソッドをサポートしていません: 'objFile.Attributes'」エラーは、額面どおりに受け取る必要があります。TextStreamクラスには、 Attributesという名前のプロパティまたはメソッドがありません。したがって、エラーメッセージ。

objShell.Run "C:\Program Files\number2.vbs"

ほとんどのツールと言語では、スペースを含む引数をさらに注意して扱う必要があります。この特定のケースでは、パラメーターを引用符で囲む必要があります。

objShell.Run """C:\Program Files\number2.vbs"""

また、WSH を使用したプログラムの実行に関する Microsoft の紹介ホワイトペーパー ( http://technet.microsoft.com/en-us/library/ee156605.aspx ) を読むことも検討してください。

于 2013-04-01T08:32:14.563 に答える