wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了windows – 批处理脚本解释注释中的内容?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

当我运行以下批处理脚本时: @echo off REM %~ will Strip surrounding quotes if any echo HERE 我收到以下错误: C:\>test.cmd The following usage of the path operator in batch-parameter substitution is invalid: %~ will Strip
当我运行以下批处理脚本时:

@echo off
REM %~ will Strip surrounding quotes if any

echo HERE

我收到以下错误

C:\>test.cmd
The following usage of the path operator in batch-parameter
substitution is invalid: %~ will Strip surrounding quotes if any

For valid formats type CALL /? or FOR /?

如果将REM更改为::,效果相同.

好像解析器忽略了注释指示符并解析了%〜.如果我在%和〜之间放置一个空格,那么它可以正常工作.

Windows 7企业版(尚未检查任何其他版本).

对我来说似乎是一个错误,但我错过了什么?

解决方法

%-expansion,因此扩展正常环境变量(如%VAR%)以及命令行参数(如%0),是读取一行后的第一步,因此甚至在识别rem命令之前就会发生这种情况.因此,您需要避免%〜(例如,通过编写rem%〜…).

鉴于command extensions已启用,无论如何都是认值,%〜被识别为无效参数语法(〜应该跟随一个十进制数字,表示参数位置或有效修饰符,如f,d,p,n,x等;见Command Line arguments (Parameters))并导致致命错误,这意味着抛出错误消息并中止批处理文件处理(尽管未设置%ErrorLevel%).

当您尝试执行sub-string substitution但指定空搜索字符串(如%VAR:=替换%或%VAR:* =替换%,假定已定义VAR),同时启用了命令扩展,则会出现相同的效果.

另请参见此@L_616_17@:How does the Windows Command Interpreter (CMD.EXE) parse scripts?

大佬总结

以上是大佬教程为你收集整理的windows – 批处理脚本解释注释中的内容?全部内容,希望文章能够帮你解决windows – 批处理脚本解释注释中的内容?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。