bat文件 ren命令中使用带空格的字符串变量作为参数报错,如何解决?

@echooff&setlocalenabledelayedexpansionpausefor/d%%iin(*"(1)")do(echo%%isetm=%%isetm=... @echo off&setlocal enabledelayedexpansion
pause
for /d %%i in (*"(1)") do ( echo %%i
set m=%%i
set m=!m:~0,-4!
echo !m!
ren %%i !m!
)

文件名夹名称范例如下:
12688 Nekomata Master - Goodbye Heaven (1)
展开
 我来答
ijyfe
推荐于2016-09-02 · TA获得超过2998个赞
知道小有建树答主
回答量:1243
采纳率:25%
帮助的人:466万
展开全部
@echo 段脊off&setlocal enabledelayedexpansion
pause
for /d %%i in (*"(1)") do ( echo %%i
set m=%%i
set m=!m:~0,-4!
echo !m!
ren "%%i"告燃空 "袜瞎!m!"
)

加上""就可以了

追问
thanks 但是为啥这里“%%i” 会被识别为一个动态的东西,而不是就是表示值为%%i的一个字符串?
追答
你使用了for语句,它会把当前目录下所有文件夹名字中含有(1)的文件夹都找出来,然后把值一一赋予给%%i
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光上的桥
2014-07-28 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21424 获赞数:65796
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
添加引号就可以了,例如:
ren "%%i" "!m!"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-07-29
展开全部
加引号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式