我想编写一个batch file,将文件的内容,并用实际的环境variables值replace文件内的任何环境variables引用。 这可能吗? 基本上,如果一个文件有这个:
%PROGRAM FILES%\Microsoft SQL Server\
那么我想要的文件内容成为:
C:\Program Files\Microsoft SQL Server\
批处理脚本运行后。 这只是一个例子,但是我想要扩展所有的环境variables。 提前感谢任何帮助!
如果系统上有powershell,你可以这样做:
powershell -command "get-content 'input.txt' | foreach { [System.Environment]::ExpandEnvironmentVariables($_) } | set-content -path 'output.txt'"
以下工作与一个简单的批处理文件,虽然从输出中删除空行
@echo off goto :start :expand echo %~1 >> output.txt goto:eof :start echo. > output.txt for /f "delims=" %%i in (input.txt) do call:expand "%%i"