在批处理文件中的变量内部存储的路径上建立目录

newton_cr7

我是批处理编程的新手。问题是我在2个变量中都有一个路径和一个新文件夹名称,因此我想将其连接起来并在该结果路径中创建一个新文件夹。我尝试了很多事情,但没有任何效果。请帮忙

我尝试了这段代码

@echo off
setlocal EnableDelayedExpansion
set ver=project
set spath=d:\a\svn\
set path=!%spath%%ver%!
mkdir %path%
pause
endlocal
莫菲

请勿将其path用作环境变量的名称,因为默认情况下已经定义了这种环境变量,并且具有非常重要的意义,请参见以下内容的答案:“ sort”未被识别为内部或外部命令,可操作程序或批处理文件?

要连接两个环境变量值,只需在将值分配给两个环境变量之一或新的环境变量时引用这两个环境变量即可。

@echo off
setlocal EnableExtensions DisableDelayedExpansion
set "ProjectVersion=project"
set "SvnPath=d:\a\svn\"
set "ProjectPath=%SvnPath%%ProjectVersion%"
mkdir "%ProjectPath%"
pause
endlocal

另请参见有关在命令行上使用“ set var = text”后为什么没有字符串与“ echo%var%”输出的答案出于对set "variable=value"字符串值进行变量赋值(即命令SET的参数字符串)双引号的原因

此处实际上不需要命令SETLOCALENDLOCAL

可能还有:

@echo off
set "ProjectVersion=project"
set "SvnPath=d:\a\svn\"
set "ProjectPath=%SvnPath%%ProjectVersion%"
mkdir "%ProjectPath%" 2>nul
if not exist "%ProjectPath%\" echo Failed to create directory "%ProjectPath%" & pause & goto :EOF

上面的批处理文件通过将STDERR重定向到设备NUL抑制任何错误消息,从而创建目录如果目录已经存在或由于NTFS权限拒绝为当前用户创建文件夹或目录路径中存在目录名的文件而无法创建目录,则输出错误消息,例如,存在一个文件与名称project在目录d:\a\svn或者是有文件svn的目录d:\a执行命令MKDIR后,在目录路径后附加带反斜杠的下一个命令将检查目录是否存在,在目录不存在时输出带有PAUSE和下一个退出批处理文件的错误消息

另请阅读有关使用命令重定向运算符的Microsoft文章,以获取有关Windows XP批处理文件的说明;2>nul以及使用Windows批处理文件的多行单行代码,以获取有关&运算符的解释

为了了解所使用的命令及其工作方式,请打开命令提示符窗口,在其中执行以下命令,并非常仔细地阅读每个命令显示的所有帮助页面。

  • echo /?
  • endlocal /?
  • goto /?
  • if /?
  • mkdir /?
  • pause /?
  • set /?
  • setlocal /?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

窗口批处理文件-从文件路径中删除目录

将目录路径隐藏在批处理文件中

在批处理文件中的文件路径中使用变量

将命令存储在批处理文件中的变量中

在Windows批处理文件中的SET上使用变量

批处理文件中的输入路径

批处理文件路径中的空间

变量中的批处理文件值

批处理文件:从目录中读取文件名并存储在阵列中

升级目录路径2并更改格式(批处理文件)

在批处理文件的文件路径中使用变量

如何设置批处理文件中变量的动态文件夹路径?

Windows批处理文件目录作为变量

如何在批处理文件中返回路径变量?

如何将当前目录名称查询到批处理文件的变量中

如何编写批处理文件以裁剪目录中的所有pdf文件并将其存储在新目录中?

Windows上的批处理文件-目录迭代

批处理文件:从文本文件读取路径并将每个实例存储为新变量?

批处理文件,用于将psql查询输出存储到变量中

用批处理文件分割存储在变量中的字符串值

如何在批处理文件中引用子目录,该子目录的路径取决于用户帐户?

处理批处理文件中设置变量的最佳方法

如何解决批处理文件中的路径分配

在相对路径中运行批处理文件?

如何为被调用的(嵌套/内部)批处理文件保留调用者(外部)批处理文件的工作目录?

批处理文件以更改从Powershell中运行的目录

用于在特定目录中启动Powershell的批处理文件

批处理文件中的当前目录是什么?

使用批处理文件获取“ MB”中目录的大小