我正在尝试使用VBS构建批处理文件,该文件将替换文件中的某些字符串。它的工作但问题是我想让站变量在dir上指示,因为文件存在于某些文件夹中。
这就是我所做的:
VBS代码:
Const ForReading = 1
Const ForWriting = 2
strFileName = Wscript.Arguments(0)
strOldText = Wscript.Arguments(1)
strNewText = Wscript.Arguments(2)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strFileName, ForReading)
strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, strOldText, strNewText)
Set objFile = objFSO.OpenTextFile(strFileName, ForWriting)
objFile.Write strNewText 'WriteLine adds extra CR/LF
objFile.Close
这是运行批处理代码:
:input
@echo off
CLS
ECHO #############################################
ECHO # #
ECHO # 1 - AM #
ECHO # 2 - PM #
Echo # 3 - Exit #
ECHO # #
ECHO #############################################
SET O=""
SET STATION =""
SET /P STATION=Set Your STATION number:
SET PATH ="C:\Envfile\%STATION%\Envfile.env"
SET /P O=Set Your Choice And Press Enter:
ECHO Loading .........
IF %O%==1 GOTO AM
IF %O%==2 GOTO PM
IF %O%==3 GOTO Exit
IF %O%=="" GOTO input
goto done
:AM
cscript replace.vbs %PATH% "PM" "AM"
goto done
:PM
cscript replace.vbs %PATH% "AM" "PM"
goto done
ELSE
GOTO input
你可以看到用户传递了"站号var"在代码的开头,我想让它在位于以站号命名的文件夹中的Envfile.env文件上结束(例如:1123)。
由于某种原因,它无法正常工作。
帮助?
答案 0 :(得分:0)
解决了这个问题,显然vbscript编译器的路径已从计算机的环境路径中删除。