我有一个 vbscript 来执行一个 powershell 脚本。powershell 脚本只是将结果附加到文件中。然后在powershell脚本执行完成后返回vbscript。vbscript 将读取文件的内容并将其显示在控制台上。不幸的是,powershell 无法生成要由 vbscript 读取的结果文件。
如果我将这一行更改为 ErrCode = objShell.run("powershell.exe -file writeFile.Ps1", 0),powershell 脚本可以生成结果文件。但是 vbscript 永远无法正确显示结果文件的内容,或者它已损坏。如果我从记事本打开结果文件,我可以正确查看内容。你知道背后的问题是什么吗?
以下是源代码:
readFile.vbs 的源代码: \
resultFile = "writeFile.Ps1.txt"
set objShell = CreateObject("WScript.Shell")
ErrCode = objShell.run("powershell.exe -nologo -command writeFile.Ps1", 0)
Set objReadFile = CreateObject("Scripting.FileSystemObject")
Set strLines = objReadFile.OpenTextFile(resultFile, 1)
Do While Not strLines.AtEndOfStream
strLine = strLines.ReadLine()
WScript.Echo strLine
Loop
Set objReadFile = Nothing
writeFile.Ps1 的源代码:
$ResultFilePath = "writeFile.Ps1.txt"
If (Test-Path $ResultFilePath) {
Remove-Item $ResultFilePath
}
Get-Date | out-file $ResultFilePath
Exit 0
谢谢。