Sorawithcat 发表于 2023-8-5 16:48:36

【vbs】怎么获取桌面路径?

就是怎么实现获取桌面路径并利用此路径?
比如获取之后在其桌面上创建一个txt文件

isdkz 发表于 2023-8-5 16:48:46

要获取桌面路径并在桌面上创建一个txt文件,可以使用VBScript中的特殊文件夹对象(SpecialFolders)来实现。

下面是一个示例代码:

Set objShell = CreateObject("WScript.Shell")
strDesktopPath = objShell.SpecialFolders("Desktop")

' 创建一个txt文件
strFilePath = strDesktopPath & "\test.txt"
Set objFile = objShell.CreateTextFile(strFilePath, True)
objFile.Close


首先,我们创建了一个Shell对象(objShell),然后使用该对象的SpecialFolders属性来获取桌面路径。在这个示例中,我们将桌面路径存储在变量strDesktopPath中。

接下来,我们使用CreateTextFile方法来创建一个txt文件。在这个示例中,我们将文件命名为test.txt,并将其路径设置为桌面路径加上文件名。最后,我们使用Close方法关闭文件对象。

这样,就可以成功获取桌面路径并在桌面上创建一个txt文件。

Mike_python小 发表于 2023-8-5 16:48:48

获取桌面路径:

您可以使用VBScript来获取桌面路径,并在该路径下创建一个文本文件。以下是实现这个功能的代码示例:

vbscript
Set objShell = CreateObject("Wscript.Shell")
desktopPath = objShell.SpecialFolders("Desktop")

' 创建一个文本文件
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile(desktopPath & "\example.txt", True)
objFile.Close


这段代码通过Wscript.Shell对象的SpecialFolders属性获取了桌面路径,并利用FileSystemObject对象在桌面路径下创建了一个名为example.txt的文本文件。

请注意,这只是VBScript的一种实现方式,您可以根据自己的需求进行修改和调整代码。希望对您有帮助!

如果回答对你有帮助,请给我一个最佳答案!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}

Sorawithcat 发表于 2023-8-5 16:50:55

isdkz 发表于 2023-8-5 16:48
要获取桌面路径并在桌面上创建一个txt文件,可以使用VBScript中的特殊文件夹对象(SpecialFolders)来实现 ...

显示 对象不支持‘objshell.createtextfile’

Sorawithcat 发表于 2023-8-5 16:51:11

Mike_python小 发表于 2023-8-5 16:48
获取桌面路径:

您可以使用VBScript来获取桌面路径,并在该路径下创建一个文本文件。以下是实现这个功能的 ...

显示 对象不支持‘objshell.createtextfile’

Mike_python小 发表于 2023-8-5 16:52:04

Sorawithcat 发表于 2023-8-5 13:50
显示 对象不支持‘objshell.createtextfile’

根据你提供的代码,出现`对象不支持‘objshell.createtextfile’`错误的原因是`Wscript.Shell`对象不支持`CreateTextFile`方法。

`CreateTextFile`方法是`Scripting.FileSystemObject`对象的方法,用于创建文本文件。而你使用的`CreateObject("Wscript.Shell")`创建的是`Wscript.Shell`对象,并不具备`CreateTextFile`方法。

为了解决这个问题,你可以使用`CreateObject("Scripting.FileSystemObject")`创建`Scripting.FileSystemObject`对象,然后使用该对象的`CreateTextFile`方法来创建文本文件。

修改后的代码如下所示:

Set objFSO = CreateObject("Scripting.FileSystemObject")
desktopPath = objFSO.GetSpecialFolder(0)
Set objFile = objFSO.CreateTextFile(desktopPath & "\example.txt", True)
objFile.Close


这样,将会使用`Scripting.FileSystemObject`对象来创建文本文件,并且将其保存在桌面上。请确保你有足够的权限在桌面上创建文件。

Sorawithcat 发表于 2023-8-5 16:53:24

Mike_python小 发表于 2023-8-5 16:52
根据你提供的代码,出现`对象不支持‘objshell.createtextfile’`错误的原因是`Wscript.Shell`对象不支 ...

所以显示没有权限该怎么办呢

isdkz 发表于 2023-8-5 16:54:09

Sorawithcat 发表于 2023-8-5 16:50
显示 对象不支持‘objshell.createtextfile’

对不起,我犯了一个错误。在VBScript中,我们不能直接使用Shell对象来创建文件。我们需要使用FileSystemObject对象来创建文件。以下是修正后的代码:

Set objShell = CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")


strDesktopPath = objShell.SpecialFolders("Desktop")


' 创建一个txt文件
strFilePath = strDesktopPath & "\test.txt"
Set objFile = objFSO.CreateTextFile(strFilePath, True)
objFile.Close



在这个修正后的代码中,我们首先创建了一个FileSystemObject对象(objFSO)。然后,我们使用这个对象的CreateTextFile方法来创建一个txt文件。其他部分的代码保持不变。

Sorawithcat 发表于 2023-8-5 16:58:19

isdkz 发表于 2023-8-5 16:54
对不起,我犯了一个错误。在VBScript中,我们不能直接使用Shell对象来创建文件。我们需要使用FileSystemO ...

那么这个txt文件的地址如何多次利用?其地址该如何表示

isdkz 发表于 2023-8-5 16:59:36

Sorawithcat 发表于 2023-8-5 16:58
那么这个txt文件的地址如何多次利用?其地址该如何表示

如果你想多次使用这个txt文件的地址,你可以将其存储在一个变量中,然后在需要的地方使用这个变量。在我们的示例中,我们已经将txt文件的地址存储在变量strFilePath中。

以下是如何使用这个地址的示例:


Set objShell = CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")


strDesktopPath = objShell.SpecialFolders("Desktop")


' 创建一个txt文件
strFilePath = strDesktopPath & "\test.txt"
Set objFile = objFSO.CreateTextFile(strFilePath, True)
objFile.Close


' 在后续的代码中使用这个地址
' 例如,我们可以检查这个文件是否存在
If objFSO.FileExists(strFilePath) Then
    WScript.Echo "File exists."
Else
    WScript.Echo "File does not exist."
End If



在这个示例中,我们首先创建了一个txt文件,然后使用FileSystemObject的FileExists方法来检查这个文件是否存在。我们使用了之前存储的文件地址(strFilePath)来指定要检查的文件。

Sorawithcat 发表于 2023-8-5 17:02:08

isdkz 发表于 2023-8-5 16:59
如果你想多次使用这个txt文件的地址,你可以将其存储在一个变量中,然后在需要的地方使用这个变量。在我 ...

所以在其桌面上的文件我都可以用strdesktoppath &"\文件名.文件类型" 这种格式来表示吗?

isdkz 发表于 2023-8-5 17:12:28

Sorawithcat 发表于 2023-8-5 17:02
所以在其桌面上的文件我都可以用strdesktoppath &"\文件名.文件类型" 这种格式来表示吗?

是的,你可以使用这种方式来表示桌面上的任何文件。只需要将"文件名.文件类型"替换为你想要访问的文件的实际名称和类型即可。

例如,如果你想要访问一个名为"example.jpg"的图片文件,你可以这样表示:


strFilePath = strDesktopPath & "\example.jpg"



这样,strFilePath就会包含指向桌面上名为"example.jpg"的图片文件的完整路径。然后你就可以使用这个路径来进行各种操作,比如打开文件、读取文件内容等。
页: [1]
查看完整版本: 【vbs】怎么获取桌面路径?