批处理提取某个字符串,命名到本身文件夹中,如何实现

我想把文本11里面的[0123456789]命名到文件夹哦,@echooffecho####Current:%date%%time%setdate_time="%date... 我想把文本11里面的[0123456789]命名到文件夹哦,
@echo off
echo ####Current: %date% %time%
set date_time="%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%"set Folder="Logs_%ver_str%_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%"echo ####start to get log to (%CD%\%Folder%)...
mkdir %Folder%
echo [ro.serialno]: [0123456789] > %Folder%\11.txt
pausefor /f "delims=" %%j in ('type "%Folder%\11.txt"^|find /i "[ro.serialno]: "')do set "s=%%j"
ren %Folder% %s%&%Folder%
pause@echo on
展开
 我来答
yyykkkyyyy
2014-07-12 · TA获得超过3136个赞
知道大有可为答主
回答量:2691
采纳率:40%
帮助的人:3299万
展开全部
怎么还没解决吗?
ren %Folder% %s%&%Folder% 这句想达到什么目的?
如果是希望新文件夹名为获取值加原文件夹名,则此新文件夹名整体加引号即可,不然&后被认为是一句命令但命令不合格
更多追问追答
追问
是没解决,就是想新文件夹为获得值加原文件名,现在这个FOR语句还有问题,帮忙看下
追答
你如何知道是for有问题?
我猜应该有些基础,自己清楚情况要会创造些测试条件就能发现问题在哪,说几点建议:
set date_time="%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%"
这句最好把引号放表达式外测,(如引用时是需要引号的,在引用时再加上,变量值本身不含引号便于组合其它字符)
set "date_time=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%"
出现问题,在每项产生一定过程变量均可在其后临时加个显示如
echo "s=%s%" 类的看是否与预计相符(这里特地加引号是防变量值含特殊符而显示出错)
对于命令中需要书写路径文件的地方建议总是加上引号虽然有时并不是必要的,(参见命令行帮助cmd/?的最后一段),且每代表一处文件名文件夹的宜带路径一起括起来如:
ren "%Folder%" "%s%&%Folder%"
且当有怀疑时可临时先改为测试显示情况便于发现问题:
echo ren "%Folder%" "%s%&%Folder%"
注意bat处理时对引号总是从左至右成对的,什么时候都不要使&|类的特殊符位于成对引号之外而产生意外如
如echo "abc"&"def"
此句的&就位于成对引号之外
对于改文件夹名的,不要有任何程序或窗口当时是打开此文件夹或其中的文件的状态,你这批处理本来是新建的文件夹并无此问题,但若是反复调试可能就有此顾虑
对于命令格式里有=&|等符的,其前后均不需要空格的,如不是有意要使某项含空格就不要加空格不然有时会与预计有出入
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式