Windows 系统的批处理变量怎么写?

2016-01-30 15:42:06 +08:00
 h1029306

第 1 个问题:

如果直接写成示例 1,通过SET FULL_PATH可以查看到FULL_PATH已经被正常赋值,但是写成示例 2,通过ECHO输出却无法输出这个FULL_PATH的值,怎么破?

:: 示例 1
@SET FULL_PATH = %~dp0HelloWorld.exe
@SET FULL_PATH
:: 示例 2
@SET FULL_PATH = %~dp0HelloWorld.exe
@SET FULL_PATH
@ECHO %FULL_PATH%

第 2 个问题:

如果写成示例 3,通过SET FULL_PATH可以查看到FULL_PATH只有目录名,没有文件名,怎么破?

:: 示例 3
@SET EXE_NAME = HelloWorld.exe
@SET FULL_PATH = %~dp0%EXE_NAME%
@SET FULL_PATH
@ECHO %FULL_PATH%

虽然示例 1可以工作,不过为了清晰易懂,我更希望把它拆分成示例 4这样的格式,不知道该怎么破?

:: 示例 4
@SET INSTALL_DIR = %~dp0
@SET EXE_NAME    = HelloWorld.exe
@SET FULL_PATH   = %INSTALL_DIR%\\%EXE_NAME%
2267 次点击
所在节点    Windows
3 条回复
mfaner
2016-01-30 17:05:24 +08:00
试了下,不是%FULL_PATH%,而是%FULL_PATH %
也是第一次见到不能加空格的。等号右边也是。
h1029306
2016-01-30 17:21:02 +08:00
@mfaner 你回答的是哪个问题?
mfaner
2016-01-30 22:38:14 +08:00
SET FULL_PATH 你看看帮助,是显示所有以 FULL_PATH 开头的变量,所以多一个空格的变量也能显示。
问题 2 也是空格的问题,把所有 set 命令里等号左右的空格或者 tab 什么全去掉吧。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/254459

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX