2010-06-02 117 views
3

我想編寫一個批處理文件,該文件將採用文件的內容,並用實際的環境變量值替換文件中的所有環境變量引用。這可能嗎?基本上,如果一個文件有這樣的:用於替換文件中環境變量的Windows批處理腳本

%PROGRAM FILES%\Microsoft SQL Server\ 

話,我想文件內容變成:

C:\Program Files\Microsoft SQL Server\ 

批處理腳本運行後。這只是一個例子,但我想要擴展所有的環境變量。預先感謝任何幫助!

回答

2

如果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" 
相關問題