jle*_*and 2 for-loop batch-file delimiter
我知道有很多关于SO的相关问题,比如这一个或者这个问题,但由于某种原因我到目前为止无法获得任何工作.
我正在尝试创建一个批处理文件来连续安装几个软件:
这是我的批处理文件
set packages=(7zip.install, ^ :: for compression
notepadplusplus.install, ^ :: file editor
Firefox, ^
putty, ^
mysql -Version 5.5.30, ^
postgresql)
for %%i in %packages% do (
::echo %%i
cinst %%i
)
Run Code Online (Sandbox Code Playgroud)
一切正常,但对于mysql部分.这个空间实际上是一个分隔符,这意味着我得到了
E:\>(echo 7zip.install )
7zip.install
E:\>(echo notepadplusplus.install )
notepadplusplus.install
E:\>(echo Firefox )
Firefox
E:\>(echo putty )
putty
E:\>(echo mysql )
mysql
E:\>(echo -Version )
-Version
E:\>(echo 5.5.30 )
5.5.30
E:\>(echo postgresql )
postgresql
Run Code Online (Sandbox Code Playgroud)
我想最终得到的是
E:\>(echo mysql -Version 5.5.30 )
mysql -Version 5.5.30
Run Code Online (Sandbox Code Playgroud)
诀窍在于我希望将我的列表放在脚本之上,每行一个元素,并且可以插入注释以清楚发生了什么.
有没有办法做到这一点?
我更习惯linux bash,我必须说我有点迷失了windows符号.
谢谢!
End*_*oro 10
试试这个:
@ECHO OFF &setlocal
for %%i in (
"7zip.install"
"notepadplusplus.install"
"Firefox"
"putty"
"mysql -Version 5.5.30"
"postgresql"
) do (
echo %%i
cinst "%%~i"
)
Run Code Online (Sandbox Code Playgroud)