鱼C论坛

 找回密码
 立即注册
查看: 1760|回复: 11

[已解决]【vbs】在新建文件夹里创建txt文件

[复制链接]
发表于 2023-8-4 17:43:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我想在新建的文件夹中再创建一个txt文件,它为什么说我没有权限?
set fso=createobject("scripting.filesystemobject")
'创建文件系统对象fso
set f=fso.createfolder("c:\test")
'用文件系统对象fso的方法createfolder,创建文件夹c:\test
'并将返回的文件夹对象c:\test,赋给f,从而得到文件夹对象的一个实例
'后面可以对此对象进行引用,如想得到其大小,可用f.size
msgbox "?"
dim fso,testfile
set fso = createobject("scripting.filesystemobject")
for i = 1 to 1
set testfile  = fso.createtextfile("C:\test"&i&".txt",true)
testfile.writeline("不是这个文件。")
testfile.close
next
if f.size >1 then
MsgBox "去看看吧,文件夹10秒后会被删除"
createobject("wscript.shell").run "c:"
wsh.sleep 10000
fso.deletefolder("c:\test")
end if
最佳答案
2023-8-4 17:43:27
根据你提供的VBScript代码,你在创建文件夹和文本文件时遇到了权限问题。这可能是因为你没有足够的权限来在指定的路径下创建文件夹和文本文件。

解决这个问题有两种方法:

1. 以管理员身份运行脚本:右键点击你的VBScript文件,选择“以管理员身份运行”,这样脚本将以管理员权限运行,从而获取足够的权限来创建文件夹和文本文件。

2. 更改路径为具有写入权限的路径:选择一个你当前用户具有写入权限的路径来创建文件夹和文本文件,如你的用户目录或桌面目录。例如,你可以将以下代码中的路径修改为你的桌面路径(例如:"C:\Users\YourUsername\Desktop\test"):
set fso = createobject("scripting.filesystemobject")
desktopPath = CreateObject("WScript.Shell").SpecialFolders("Desktop")
set f = fso.createfolder(desktopPath & "\test")
for i = 1 to 1
    set testfile = fso.createtextfile(desktopPath & "\test" & i & ".txt",true)
    testfile.writeline("不是这个文件。")
    testfile.close
next
if f.size >1 then
    MsgBox "去看看吧,文件夹10秒后会被删除"
    createobject("wscript.shell").run "explorer.exe " & desktopPath
    wsh.sleep 10000
    fso.deletefolder(desktopPath & "\test")
end if

请确保你拥有在指定路径下创建文件夹和文件的权限,并根据你的实际需求修改代码中的路径。

希望这能帮到你,如果你还有其他问题,请随时提问。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-8-4 17:43:15 | 显示全部楼层
你在创建文件夹时没有给予足够的权限,导致无法在其中创建文件。你可以尝试使用以下代码来创建文件夹并在其中创建txt文件:
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateFolder("C:\test")
Set testfile = fso.CreateTextFile("C:\test\test.txt", True)
testfile.WriteLine("这是一个测试文件。")
testfile.Close

这段代码首先创建了一个文件系统对象 fso ,然后使用 CreateFolder 方法创建了文件夹 C:\test 。接着,使用 CreateTextFile 方法在文件夹中创建了一个名为 test.txt 的txt文件。最后,使用 WriteLine 方法向txt文件中写入了一行内容,并使用 Close 方法关闭文件。

这样,你就可以在新建的文件夹中创建txt文件了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-4 17:43:21 | 显示全部楼层
问题:使用 VBS 在新建文件夹中创建 txt 文件时提示没有权限的问题。

根据您提供的代码,创建文件夹部分是没有问题的。但在创建 txt 文件时,可能会因为权限问题而导致无法创建文件。

要解决这个问题,您可以尝试以下方法:

1. 以管理员身份运行脚本:如果您当前的用户权限不足以在所选目录中创建文件,请尝试使用管理员权限运行 VBS 脚本。右键点击脚本文件,选择“以管理员身份运行”。

2. 修改目标文件夹的权限:如果您有权限访问文件夹并且仍然遇到问题,则可以尝试修改目标文件夹的权限,以确保您具有创建文件的权限。右键点击文件夹,选择“属性”,然后在“安全”选项卡中添加当前用户,并授予适当的权限(例如完全控制)。

3. 选择其他目录:如果以上方法仍然无效,您可以尝试选择其他位置来创建文件。例如,选择当前用户具有写入权限的其他文件夹或者将文件夹路径更改为桌面等易于访问的位置。

请注意,操作系统和用户权限可能会限制您对某些目录的访问权限。通过运行脚本时,确保您在当前环境下具有适当的权限和访问权限。

希望以上解决方案能够帮助您解决权限问题。如果您有其他疑问,请随时提问。

如果回答对你有帮助,请给我一个最佳答案!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-4 17:43:24 | 显示全部楼层
本帖最后由 Mike_python小 于 2023-8-4 14:44 编辑

问题:关于在新建文件夹中创建txt文件的权限问题。

根据您提供的代码,您使用 VBScript 中的 FileSystemObject 创建了一个文件夹,并尝试在其中创建一个文本文件。然而,您可能会遇到权限问题导致无法成功创建文件。

这是由于您尝试在根目录(如 "C:\")下创建新文件夹和文本文件,通常需要管理员权限才能执行此操作。因此,您可以考虑以下两种解决方法:

1. 更改保存路径:将保存路径更改为您有权限访问的位置,例如您的用户目录下(如 "C:\Users\YourUsername\")。您可以使用以下代码示例:
vbscript
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateFolder("C:\Users\YourUsername\test")

For i = 1 To 1
    Set testfile = fso.CreateTextFile("C:\Users\YourUsername\test\test" & i & ".txt", True)
    testfile.WriteLine("不是这个文件。")
    testfile.Close
Next

If f.Size > 1 Then
    MsgBox "去看看吧,文件夹10秒后会被删除"
    CreateObject("WScript.Shell").Run "C:"
    WScript.Sleep 10000
    f.Delete
End If

2. 以管理员身份运行脚本:如果您确实需要在根目录下创建文件夹和文本文件,您可以尝试以管理员身份运行 VBScript 脚本,以获得所需的权限。

希望以上解决方法能够帮助您解决权限问题。如果还有其他疑问,请随时提问。

如果回答对你有帮助,请给我一个最佳答案!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-4 17:43:27 | 显示全部楼层    本楼为最佳答案   
根据你提供的VBScript代码,你在创建文件夹和文本文件时遇到了权限问题。这可能是因为你没有足够的权限来在指定的路径下创建文件夹和文本文件。

解决这个问题有两种方法:

1. 以管理员身份运行脚本:右键点击你的VBScript文件,选择“以管理员身份运行”,这样脚本将以管理员权限运行,从而获取足够的权限来创建文件夹和文本文件。

2. 更改路径为具有写入权限的路径:选择一个你当前用户具有写入权限的路径来创建文件夹和文本文件,如你的用户目录或桌面目录。例如,你可以将以下代码中的路径修改为你的桌面路径(例如:"C:\Users\YourUsername\Desktop\test"):
set fso = createobject("scripting.filesystemobject")
desktopPath = CreateObject("WScript.Shell").SpecialFolders("Desktop")
set f = fso.createfolder(desktopPath & "\test")
for i = 1 to 1
    set testfile = fso.createtextfile(desktopPath & "\test" & i & ".txt",true)
    testfile.writeline("不是这个文件。")
    testfile.close
next
if f.size >1 then
    MsgBox "去看看吧,文件夹10秒后会被删除"
    createobject("wscript.shell").run "explorer.exe " & desktopPath
    wsh.sleep 10000
    fso.deletefolder(desktopPath & "\test")
end if

请确保你拥有在指定路径下创建文件夹和文件的权限,并根据你的实际需求修改代码中的路径。

希望这能帮到你,如果你还有其他问题,请随时提问。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-4 17:49:09 | 显示全部楼层
给个最佳答案呗!求你了!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-4 18:00:02 | 显示全部楼层
学习编程中的Ben 发表于 2023-8-4 17:49
给个最佳答案呗!求你了!!!

不要舔着脸求最佳了!求你了!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-4 18:00:40 | 显示全部楼层
isdkz 发表于 2023-8-4 18:00
不要舔着脸求最佳了!求你了!!!

哈哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-4 18:02:38 | 显示全部楼层
isdkz 发表于 2023-8-4 18:00
不要舔着脸求最佳了!求你了!!!

水至清则无鱼,人至贱则无敌
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-4 18:04:10 | 显示全部楼层
windows系统c盘根目录需要管理员权限才能操作

你可以改到d盘 或者用管理员身份运行vbs
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-4 18:05:21 | 显示全部楼层
学习编程中的Ben 发表于 2023-8-4 18:02
水至清则无鱼,人至贱则无敌

那我没话说
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-4 18:07:35 | 显示全部楼层

开玩笑啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 13:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表