批处理脚本 - 如果尚未设置/定义,则设置/定义环境变量

时间:2017-01-26 16:00:09

标签: windows batch-file cmd delayedvariableexpansion

我需要将一个批处理脚本调用为

SetEnvironmentVariableIfNotSet.bat environment_variable_name <value>

来自其他脚本或命令行。

我绝不是Windows批处理脚本的专家,而是通过反复试验和拼凑不同的东西,到目前为止我已经想出了这个:

@setlocal EnableDelayedExpansion
@if "!%1!"=="" (
  echo '%1' undefined. Defining with value
  echo    %2
  endlocal DisableDelayedExpansion
  goto :define_variable
) else (
  echo '%1' already defined with value
  echo    !%1!
  endlocal DisableDelayedExpansion
  goto :eof
)

:define_variable
@set "%1=%2"

当被召唤时,我需要做什么:

C:\>call DefEnvVarIfNotDef.bat ASD "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"
'ASD' undefined. Defining with value
   "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"
C:\>echo %ASD%
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"

在这里寻求更好/最佳解决方案。 这个对我来说当然看起来很难看。

1 个答案:

答案 0 :(得分:3)

您可以使用#~ python3 pn.py writer = pd.ExcelWriter('outputfile.xlsx',engine='xlsxwriter') res_df.to_excel(writer,sheet_name='Output_sheet')

Index   80
col1    95528
col2    95528
col3    95528
col4    95528
col5    95528
col6    95528
col7    95528
col8    95528
col9    95528
col10   95528
col11   95528
col12   95528
col13   95528
col14   95528
col15   95528
col16   95528
col17   95528
col18   95528
col19   95528
col20   95528
col21   95528
col22   95528
col23   95528
col24   95528
col25   95528
col26   95528
col27   95528
col28   95528
col29   95528
col30   95528
col31   95528
col32   95528
col33   95528
col34   95528