我已经在网络驱动器上创建了一个文件作为脚本的一部分,我正在尝试将其隐藏起来,以便如果脚本再次运行,它应该能够看到该文件并对其中包含的信息执行操作,但我在执行此操作时遇到了问题。到目前为止,我所拥有的是:
function doesRegisterExist(oFs, Date, newFolder) {
dbEcho("doesRegisterExist() triggered");
sExpectedRegisterFile = newFolder+"\\Register.txt"
if(oFs.FileExists(sExpectedRegisterFile)==false){
newFile = oFs.OpenTextFile(sExpectedRegisterFile,8,true)
newFile.close()
newReg = oFs.GetFile(sExpectedRegisterFile)
dbEcho(newReg.Attributes)
newReg.Attributes = newReg.Attributes+2
}
}Windows Script Host实际上不会在此处产生错误,并且脚本会在竞争中运行。我在网上找到的唯一指南,我一直在尝试从VBscript翻译过来,但收效甚微。
传递给此函数的变量大致是这样声明的
var oFs = new ActiveXObject("Scripting.FileSystemObject")
var Date = "29-12-2017"
var newFolder = "\\\\File-Server\\path\\to\\folder"我知道对很多人来说,ActiveX是一个肮脏的词,即使我想使用它,我也应该被枪毙,但它真的非常适合我正在尝试做的事情。
请帮帮忙。
发布于 2017-12-30 00:50:12
sExpectedRegisterFolder解析为\\\\File-Server\\path\\to\\folder\\Register,它是一个文件夹,而不是文件。
当我将代码包装到一个try/catch块中时,我得到了一个Error: file not found。
我还在一个文本文件上测试了代码,它在那里工作。
因此,如果您想将文件夹设置为隐藏,那么您可能使用了错误的方法。或者,如果要将文件更改为隐藏,则忘记包含文本的路径。(编辑:或者如果注册是文件的名称,则添加文件类型.txt?)
如果按照https://msdn.microsoft.com/en-us/library/6tkce7xa(v=vs.84).aspx中的说明将GetFile更改为GetFolder,则文件夹将正确隐藏。
https://stackoverflow.com/questions/48025443
复制相似问题