Bash 用VBS和批处理替换文件中的字符串

Bash 用VBS和批处理替换文件中的字符串,bash,file,batch-file,replace,vbscript,Bash,File,Batch File,Replace,Vbscript,我正在尝试使用VBS构建一个批处理文件,它将替换文件中的某些字符串。它的工作,但问题是我想使车站变量,以表明在目录,因为该文件存在于一些文件夹 以下是我所做的: VBS代码: Const ForReading = 1 Const ForWriting = 2 strFileName = Wscript.Arguments(0) strOldText = Wscript.Arguments(1) strNewText = Wscript.Arguments(2) Set objFSO

我正在尝试使用VBS构建一个批处理文件,它将替换文件中的某些字符串。它的工作,但问题是我想使车站变量,以表明在目录,因为该文件存在于一些文件夹

以下是我所做的:

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

由于某种原因,它不起作用


帮助?

解决了这个问题,很明显vbscript编译器的路径已从计算机的环境路径中删除。

删除变量名和SET语句中的等号之间的空格。。我也不会使用PATH作为变量名。使用tpath或其他东西。这取决于您是否使用:SET PATH=C:\Envfile\%STATION%\Envfile.env或SET PATH=C:\Envfile\%STATION%\Envfile.env来设置路径变量。如果您重写了系统路径变量,那么是的,这就是您找不到cscript的问题。但您还必须意识到%path%与%path%不同。您应该提供解决方案的详细信息;请记住,帮助人们找到编程问题的解决方案也是如此;如果有人有同样的问题,并来到这个线程,他会非常失望,你不认为吗?