如何从与管道相关的块中导出变量?

时间:2015-10-19 20:35:18

标签: dos

我从管道到变量dd1得到了一个值。

但是我无法将变量导出块。

如何从与管道相关的块中导出变量?


示例批处理脚本:

  

@echo off

     

(日期/ t)| (set / p zDate =& call set zDate = %% zDate:~0.4 %%& call echo   可能:%% zDate %%)

     

echo ImPossible:%zDate%

     

暂停> nul

     

退出0


Result :
-------------------------------------------

Possible: 2015
ImPossible:


为什么不从块中导出变量zDate?



请回答我。

谢谢。

1 个答案:

答案 0 :(得分:0)

一旦管道块中的变量结束,环境就会更改为默认文件,并且变量将丢失。我能想到的唯一解决方法是将变量导出到临时文件中,该文件在管道结束后由默认批处理读取。也许:

@echo off

(date /t) | (set /p zDate=& call set zDate=%%zDate:~0,4%% & call echo Possible: %%zDate%% & call echo %%zDate%%^>%temp%\zDate.txt )

set /p zDate=<%temp%\zDate.txt
echo Impossible: %zDate%

pause >nul

exit 0

你的意图是什么?如果没有,请告诉我,我会更新答案!

_Arescet