Batch file 活动设置-编辑文件的脚本未运行/工作
具有以下批处理文件:Batch file 活动设置-编辑文件的脚本未运行/工作,batch-file,vbscript,Batch File,Vbscript,具有以下批处理文件: cscript Myvb.vbs "C:\Users\%username%\AppData\LocalLow\file.ini" "Things" "Stuff" vb脚本文件: Const ForReading = 1 Const ForWriting = 2 strFileName = WScript.Arguments(0) strFindText = WScript.Arguments(1) strNewText = WScript.Arguments(1)
cscript Myvb.vbs "C:\Users\%username%\AppData\LocalLow\file.ini" "Things" "Stuff"
vb脚本文件:
Const ForReading = 1
Const ForWriting = 2
strFileName = WScript.Arguments(0)
strFindText = WScript.Arguments(1)
strNewText = WScript.Arguments(1) & vbCrLf & WScript.Arguments(2)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strFileName, ForReading)
strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, strFindText, stfFindText&strNewText)
Set objFile = objFSO.OpenTextFile(strFileName, ForWriting)
objFile.Write strNewText
objFile.Close
Set objFile = Nothing
和批处理文件以设置ActiveSetup:
@echo off
REM copy batch file
xcopy Mybat.bat* %SYSTEMROOT%\
xcopy Myvb.vbs* %SYSTEMROOT%\
REM create active setup component to run batch file
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\MySetup" /v "Version" /t REG_SZ /d "1" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\MySetup" /v "StubPath" /t REG_SZ /d "%SYSTEMROOT%\Mybat.bat" /f
如果手动执行mybat,则可以很好地编辑该文件。但是,文件在登录后不会更改。我取消了对文件的更改,并在测试之间清除了配置文件中的活动设置注册表项
我是否缺少权限问题?%username%不是我所期望的吗?通过在bat文件中指示vbs的完整路径,实现了这一点
cscript "%~dp0Myvb.vbs" "C:\Users\%username%\AppData\LocalLow\file.ini" "Things" "Stuff"
我认为你必须用老式的方法来解决这个问题:试着找出哪一步失败了。首先让批处理文件记录其对日志文件的调用;例如:
echo>>C:\MyLog\log.txt%DATE%%TIME%MyBat BEGIN
和echo>>C:\MyLog\log.txt%DATE%%TIME%MyBat END
。不要忘了提前创建目录,并设置全局读/写访问权限。您可能还必须使用日志文件对其进行种子设定,并在那里设置权限。如果日志文件中同时显示开始行和结束行,请转到.vbs
文件并在那里添加日志记录语句。