无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3195|回复: 24
打印 上一主题 下一主题

[求助] 根据条件去除引号

[复制链接]
跳转到指定楼层
1#
发表于 2023-10-14 15:09:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
批处理:set /p L=拖入要添加的文件:
如果拖入文件后,%L%有引号,就去除引号再引用这个变量;%L%没有引号,就直接引用%L%

命令该如何写呢:
用途之一:
用于wimlib-imagex如下命令:双引号中只能用单引号
wimlib-imagex.exe update boot.wim 1 --command="add '%L%'  '%p%\%k%'"

2#
发表于 2023-10-14 15:31:58 | 只看该作者
不知道理解的对不对,或许可先将引号去除,试试看。
  1. set /p L=拖入要添加的文件:
  2. set   "L=%L:"=%"
  3. wimlib-imagex.exe update boot.wim 1 --command="add '%L%'  '%p%\%k%'"
复制代码

点评

谢谢 set "L=%L:"=%" 实现了当有引号就去除引号,没有引号就保持不变的效果 我曾试图用判断语句,但没有引号的会出错 if "%L~-1%"==""" set L=%L:"=% echo %L%|findstr """&&set L=%L:"=%  详情 回复 发表于 2023-10-14 19:46
回复

使用道具 举报

3#
发表于 2023-10-14 15:39:06 | 只看该作者
认真看帮助,曾经也是很喜欢调bat
回复

使用道具 举报

4#
发表于 2023-10-14 15:39:31 | 只看该作者
对照实例,认真理解语法
回复

使用道具 举报

5#
发表于 2023-10-14 15:41:21 | 只看该作者
对照实例,认真理解语法
回复

使用道具 举报

6#
发表于 2023-10-14 17:32:16 | 只看该作者
谢谢

点评

解决了吗?  详情 回复 发表于 2023-10-14 17:34
回复

使用道具 举报

7#
发表于 2023-10-14 17:34:50 | 只看该作者

解决了吗?
回复

使用道具 举报

8#
发表于 2023-10-14 18:42:11 | 只看该作者
本帖最后由 dos时代菜鸟 于 2023-10-14 18:43 编辑
  1. @echo off
  2. SETLOCAL ENABLEDELAYEDEXPANSION
  3. set /p L=拖入要添加的文件:
  4. for %%c in (!l!) do (set "l=%%~c")
  5. echo '!l!'
  6. pause
复制代码


点评

当无引号且路径有空格时就会出错,还是set删除引号法靠谱。  详情 回复 发表于 2023-10-14 21:54
谢谢 实现了效果 我曾试图用判断语句,但没有引号的会出错 if "%L~-1%"==""" set L=%L:"=% echo %L%|findstr """&&set L=%L:"=%  发表于 2023-10-14 19:50
助人为乐  详情 回复 发表于 2023-10-14 18:50

评分

参与人数 1无忧币 +1 收起 理由
yyz2191958 + 1 助人为乐

查看全部评分

回复

使用道具 举报

9#
发表于 2023-10-14 18:50:25 | 只看该作者
回复

使用道具 举报

10#
发表于 2023-10-14 19:39:32 | 只看该作者
学习学习
回复

使用道具 举报

11#
 楼主| 发表于 2023-10-14 19:46:10 | 只看该作者
fzp070 发表于 2023-10-14 15:31
不知道理解的对不对,或许可先将引号去除,试试看。

谢谢

set "L=%L:"=%"
实现了当有引号就去除引号,没有引号就保持不变的效果

我曾试图用判断语句,但没有引号的会出错

if "%L~-1%"==""" set L=%L:"=%

echo %L%|findstr """&&set L=%L:"=%

点评

这个方法也可以,可以事先 给 变量 L 半个引号,再把所有的 引号都替换掉,也就是了。  详情 回复 发表于 2023-10-14 21:47
回复

使用道具 举报

12#
发表于 2023-10-14 21:47:15 | 只看该作者
yjqd 发表于 2023-10-14 19:46
谢谢

set "L=%L:"=%"

这个方法也可以,可以事先 给 变量 L 加半个引号,再把所有的 引号都替换掉,也就是了。
回复

使用道具 举报

13#
发表于 2023-10-14 21:54:05 | 只看该作者

当无引号且路径有空格时就会出错,还是set删除引号法靠谱。

点评

拖动的话,就没问题。  详情 回复 发表于 2023-10-14 22:05
回复

使用道具 举报

14#
发表于 2023-10-14 22:05:07 | 只看该作者
nttwqz 发表于 2023-10-14 21:54
当无引号且路径有空格时就会出错,还是set删除引号法靠谱。

拖动的话,就没问题。

点评

拖动会添加双引号,但万一是粘贴的路径呢  详情 回复 发表于 2023-10-14 22:18
回复

使用道具 举报

15#
发表于 2023-10-14 22:18:59 | 只看该作者
dos时代菜鸟 发表于 2023-10-14 22:05
拖动的话,就没问题。

拖动会添加双引号,但万一是粘贴的路径呢

点评

哦,那就不一定行了。  详情 回复 发表于 2023-10-15 10:14
回复

使用道具 举报

16#
发表于 2023-10-15 10:14:56 | 只看该作者
nttwqz 发表于 2023-10-14 22:18
拖动会添加双引号,但万一是粘贴的路径呢

哦,那就不一定行了。
回复

使用道具 举报

17#
发表于 2023-10-17 18:50:19 | 只看该作者
good
回复

使用道具 举报

18#
发表于 2023-10-17 18:50:36 | 只看该作者
最好的帮助,是help
回复

使用道具 举报

19#
发表于 2023-10-17 18:50:48 | 只看该作者
吃透语法
回复

使用道具 举报

20#
发表于 2024-2-21 17:24:24 | 只看该作者
学习学习
回复

使用道具 举报

21#
发表于 2024-2-22 09:47:21 | 只看该作者
对照实例,认真理解语法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-26 01:26

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表