关于批处理set "str=%~1"的用法

用这句删除输入带引号路径,为何以下这样表现就不行:seta="D:\ProgramFiles\115"seta=%%~aecho%a%pause结果显示出来的是“%~a”... 用这句删除输入带引号路径,为何以下这样表现就不行:
set a="D:\Program Files\115"
set a=%%~a
echo %a%
pause

结果显示出来的是“%~a”,为什么呢??
展开
 我来答
帐号已注销
推荐于2016-01-01 · TA获得超过353个赞
知道小有建树答主
回答量:606
采纳率:0%
帮助的人:628万
展开全部
这样是不可以的。

批处理是用call 或者 for 传递参数的,你可以这样写
set a="D:\Program Files\115"
for /f "tokens=* delims=" %%a in ("%a%") do set a=%%~a
echo %a%
来自:求助得到的回答
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友074008564e4
2012-07-06
知道答主
回答量:25
采纳率:0%
帮助的人:26.7万
展开全部
%%a这种形式的变量只能出现在批处理文件的For中
%1这种变量是形式变量,用来传参数用的
删除引号直接echo %a:"=%就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sudoku52
2012-07-07 · TA获得超过7万个赞
知道大有可为答主
回答量:1.2万
采纳率:82%
帮助的人:4909万
展开全部
set a="D:\Program Files\115"
echo %a:"=%
pause
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
q447552640
2015-10-22 · TA获得超过156个赞
知道小有建树答主
回答量:261
采纳率:0%
帮助的人:189万
展开全部
set a="D:\Program Files\115"
echo %a:"=%
pause
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式