"从其他变量设置变量不起作用

时间:2015-05-05 21:44:27

标签: windows batch-file cmd

我可能会遗漏某些东西或忘记某些东西但是当我尝试" SET"批处理文件中的变量是来自FOR循环的另一个变量的值,它不起作用。

ECHO OFF
set /p inputfile="Enter the server list name: "
for /f %%z in (%inputfile%) do (
for /f "skip=1 tokens=1,2,3 delims=," %%a in (%%z.csv) do (
    set inst=%%b
    @echo Service Name: %%a
    @echo %inst%
    @echo Description: %%b
    @echo Install Path: %%c
)
)
pause

我的最终目标是更换" \"存在于使用" /"检索的安装路径中;这样它将与一个单独的Java应用程序兼容。在测试变量" inst"回来了。

我希望使用的语法是:http://ss64.com/nt/syntax-replace.html

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

promise.fail(function () { // cancel the change $timeout(function () { $scope.SelectedPortfolioId = previousPortfolioId; }, 0); }); 命令有效。你需要的是mongoid relation doc

  

延迟扩展将导致变量在执行时扩展   时间而不是在解析时,这个选项打开了   SET命令。当延迟扩展有效时,变量可能是   使用SETLOCAL引用(除了正常情况   !variable_name!

%variable_name%

答案 1 :(得分:1)

括号使多行1行。因此,您只需将回声移到括号外,使它们在新行上。

读取行时会扩展变量。因此,直到下一行才会注意到变化。

对于多命令行,您可以使用!Var!语法在执行时强制扩展,并使用setlocal enabledelayedexpansion启用此功能。

这是用于替换内容set file=%windir:\=\\%替换\ \\%windir%

}的语法