批处理BAT中如何去除变量中的特定符号

想做一个图种工具,代码在下面。问题是拖入文件后变量(本来应该是文件名)会多出双引号,如何去掉?@echooff:mainseta=setb=clsset/pa=请在将图片... 想做一个图种工具,代码在下面。问题是拖入文件后变量(本来应该是文件名)会多出双引号,如何去掉?
@echo off
:main
set a=
set b=
cls
set /p a=请在将图片拖入后按下回车键
set /p b=请在将压缩包拖入后按下回车键
echo 开始处理
copy /b %a%+%b% C:\Documents and Settings\Administrator\桌面\outcome.jpg
echo 处理完毕,文件已输出至桌面
echo 按下任意键以返回……
pause>nul
goto main
展开
 我来答
依梦琴瑶
高粉答主

2017-07-03 · 说的都是干货,快来关注
知道顶级答主
回答量:6.9万
采纳率:82%
帮助的人:1.7亿
展开全部
不要去掉,有双引号,才安全,否则如果路径中,或文件名中有空格的话,就会导致最终命令运行出错,就你现在C:\Documents and Settings\Administrator\桌面\outcome.jpg这句内容,你没加双引号,那么你运行后就会直接报错。或桌面根本不会生成文件。
因为在命令行中如果有空格的内容不用双引号括起来,那么一些内容就会被认为是命令参数。
追问
但是现在问题是执行copy /b那一行时会出现错误,无法输出outcome.jpg这个文件,请问该怎么修改呢
追答
上面不是说了吗?那是因为你outcome.jpg的完整路径,你没用英文双引号括起来,因为这个路径中有空格,所以报错。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式