[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] (已解决)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?

以上问题上次提问后没有得到完美解决,现在继续求助各位高手!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  1. @echo off
  2. set "Ph=\\192.168.1.10\d$\bakup"
  3. for /f "delims=" %%i in ('dir /b/ad/od "%Ph%"') do  set "str=%%~xi"
  4. set /a "var=%str:.=%+1"
  5. echo %var%
  6. pause
复制代码
1

评分人数

TOP

回复 2# terse


   调试的时候提示:运算符不存在
请问要怎么处理

TOP

回复 2# terse


    最后得到的结果还是103啊,运算符那个+1提示无效

TOP

回复 4# linlianboy
在第三行下面添加 echo "%str%"
结果贴出来

TOP

回复 5# terse

用户变量
Ph=\\192.168.1.10\d$\bakup
str=.103)
var=103



正在获取系统变量列表...
成功获取系统变量列表
正在初始化批处理内容...
成功初始化批处理内容
正在启动调试批处理...
成功启动调试批处理
开始调试...
调试结束
读取错误信息...
以下是错误信息

4行:
运算符不存在。

TOP

本帖最后由 terse 于 2013-11-12 00:09 编辑

一楼并没有描述 文件夹含有“)”的 所以有错了
将4行" set /a "var=%str:.=%+1" " 替换为下面试
  1. for /f "delims=.)" %%i in ("%str%") do  set /a "var=%%i+1"
复制代码
1

评分人数

TOP

回复 7# terse


    高手半夜还没睡啊,多谢了

TOP

返回列表