Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何检查环境变量是否包含特定字符串(在批处理文件中)_Batch File - Fatal编程技术网

Batch file 如何检查环境变量是否包含特定字符串(在批处理文件中)

Batch file 如何检查环境变量是否包含特定字符串(在批处理文件中),batch-file,Batch File,我尝试过这个方法,但它不起作用,因为变量(PATH环境变量)包含空格:很大程度上取决于您试图检测的字符串。一些例子会有帮助 或许 if "%path:yourstring=%" neq "%path%" echo String found 将在您的特定情况下工作,但没有一些细节,这只不过是猜测。path变量可以包含引号和特殊字符,如“C:\Docs&other stuff” 因此,最好使用延迟而不是百分比扩展 setlocal EnableDelayedExpansion if "!path:

我尝试过这个方法,但它不起作用,因为变量(PATH环境变量)包含空格:

很大程度上取决于您试图检测的字符串。一些例子会有帮助

或许

if "%path:yourstring=%" neq "%path%" echo String found

将在您的特定情况下工作,但没有一些细节,这只不过是猜测。

path变量可以包含引号和特殊字符,如
“C:\Docs&other stuff”

因此,最好使用延迟而不是百分比扩展

setlocal EnableDelayedExpansion
if "!path:%myVar%=!" NEQ "!path!" echo path contains !myVar!

我看不出为什么链接解决方案不适用于空间。你有一个例子吗?