标题: [文本处理] (已解决)BAT如何获取指定文件夹内的最后一个修改日期的文件夹名称? [打印本页]
作者: linlianboy 时间: 2013-11-10 20:56 标题: (已解决)BAT如何获取指定文件夹内的最后一个修改日期的文件夹名称?
本帖最后由 linlianboy 于 2013-11-12 00:40 编辑
文件夹位置:192.168.1.10\d$\bakup\
该bakup文件夹内有5个文件夹,文件夹名称分别为:1.0.0.100、1.0.0.101、10.0.0.102、1.0.0.103、1.0.0.104,其中最新修改日期的文件夹时1.0.0.102
1、如何将最新修改的文件夹名称后面的102抓取到另外一个变量var中并+1,也就是var的值要等于103
2、如果最新修改日期的文件夹变成1.0.0.104又如何抓取该文件夹后面的104?
以上问题上次提问后没有得到完美解决,现在继续求助各位高手!
作者: terse 时间: 2013-11-10 22:04
- @echo off
- set "Ph=\\192.168.1.10\d$\bakup"
- for /f "delims=" %%i in ('dir /b/ad/od "%Ph%"') do set "str=%%~xi"
- set /a "var=%str:.=%+1"
- echo %var%
- pause
复制代码
作者: linlianboy 时间: 2013-11-10 22:37
回复 2# terse
调试的时候提示:运算符不存在
请问要怎么处理
作者: linlianboy 时间: 2013-11-10 23:12
回复 2# terse
最后得到的结果还是103啊,运算符那个+1提示无效
作者: terse 时间: 2013-11-11 00:20
回复 4# linlianboy
在第三行下面添加 echo "%str%"
结果贴出来
作者: linlianboy 时间: 2013-11-11 23:41
回复 5# terse
用户变量
Ph=\\192.168.1.10\d$\bakup
str=.103)
var=103
正在获取系统变量列表...
成功获取系统变量列表
正在初始化批处理内容...
成功初始化批处理内容
正在启动调试批处理...
成功启动调试批处理
开始调试...
调试结束
读取错误信息...
以下是错误信息
4行:
运算符不存在。
作者: terse 时间: 2013-11-12 00:07
本帖最后由 terse 于 2013-11-12 00:09 编辑
一楼并没有描述 文件夹含有“)”的 所以有错了
将4行" set /a "var=%str:.=%+1" " 替换为下面试- for /f "delims=.)" %%i in ("%str%") do set /a "var=%%i+1"
复制代码
作者: linlianboy 时间: 2013-11-12 00:38
回复 7# terse
高手半夜还没睡啊,多谢了
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |