batch-file - 如何在 %* 参数上批量执行字符串替换?
问题描述
我想对提供给我的批处理文件的参数执行字符串替换。例如,将%~dp0
参数从反斜杠替换为正斜杠。
我已经尝试过:%~dp0:\=/
和%~dp0:\=/%
,两者都不替换斜杠。我能做的唯一可能的解决方案是混乱:
set dir=%~dp0
set dir=%dir:\=/%
有没有更好的方法来做到这一点而不设置单独的变量并希望在一行中?
解决方案
简短的回答 - 不。
字符串操作不适用于已解析的参数 ( %1
) 或for
循环标记 ( %%i
)。通常认为不将解析的参数保存到命名变量中是不好的做法,原因有两个:
可读性- 将您的参数转换为命名变量将提高您在编写代码后调试和理解代码的能力。
覆盖- 脚本中的任何call:function param1 param2
出现都将覆盖该范围内的参数值。
推荐阅读
- c# - 如何将数据从 WPF 应用程序发送到 UWP 应用程序?
- mongodb - MongoDB:从某个字段的最大值过滤的集合中获取所有文档
- c# - 如何获得 ContentPresenter 的父 ItemsControl?
- html - 如何使用 VBA 将我的 Excel 工作表中的信息输入到特定网站的搜索栏中?
- android - 我应该如何将 Android 中的原生构建应用升级到 Flutter 构建 Android?
- sap-cloud-platform - 使用 SAP Cloud SDK Pipeline 部署到 CF 时,Nodejs 应用程序间歇性地泄漏内存
- python-3.x - 在没有 POST 错误的情况下启动 flask-socketio
- python - 使用 Tensorflow 标记图像中的区域
- python - 使用资源策略对 API 网关的签名请求导致用户:匿名错误
- python-3.x - Onnx-to-keras 和 Keras2onnx 将 ONNX 模型输入层更改为 Nx1x200x200,而不是原来的 1x1x200x200