&引用;“未找到路径”;创建文件时VBScript出错

&引用;“未找到路径”;创建文件时VBScript出错,vbscript,Vbscript,我正在制作一个简单的VBS应用程序,它在启动目录中创建了一个文件。当我不久前做的时候,它工作了,但是我已经更新了我的代码,并且需要它来做其他事情 这是创建文件的代码: Dim fso, openFile Set fso = CreateObject("Scripting.FileSystemObject") fso.CreateTextFile "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\startup\file.bat" 它给出

我正在制作一个简单的VBS应用程序,它在启动目录中创建了一个文件。当我不久前做的时候,它工作了,但是我已经更新了我的代码,并且需要它来做其他事情

这是创建文件的代码:

Dim fso, openFile
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\startup\file.bat"
它给出了某种错误,说它不知道去哪里,我不知道我提供的文件路径是否有问题,因为
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\
显然是一个文件夹。我还发现里面没有
startup\
文件夹,这就是原因吗

如果是这样,如果目录不存在,我是否可以指定创建该目录的内容

我对VBS非常陌生,而且我对它的了解非常有限,所以如果能用一种简单的方法来实现这一点,我将不胜感激

谢谢!:)

文件路径是否正确?(你能手动找到它吗?)如果是,那么试着复制变量中的路径,并用路径调用变量

Dim fso, openFile
Dim filepath = "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\startup\file.bat"
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile(filepath)
在启动程序之前,还要确保文件不存在

祝你好运


Jonas

如果没有管理员权限,您不能向
ProgramData
写入数据。@KenWhite这是一个很好的观点,我忘了。我也知道用户的AppData文件夹中有一个,但要让脚本在任何名称的帐户上运行,我所能想到的就是
%AppData%\Microsoft\Windows\Start Menu\Programs\startup
,我试过了,但我认为百分比符号不知怎么搞砸了,它需要一个以
C:`开头的路径。您知道没有使用
%AppData%`快捷方式而到达该路径的其他方法吗?@Toydotgam FileSystemObject不会自动展开环境变量您需要首先使用
ExpandEnvironmentString()
方法获取基础值并将其连接到路径字符串中。@Lankymart哦,好的,有件事要做,谢谢!好的,这似乎是一个很好的替代方法,但我将使用另一个目录,因为我忘记了没有提升就无法写入'C:\ProgramData',正如@KenWhite所说的。但我会尝试一些其他的方法,看看我能得到什么!谢谢