Board logo

标题: [文件操作] 一个通用的路径验证正则表达式 [打印本页]

作者: albenlee    时间: 2020-2-17 15:18     标题: 一个通用的路径验证正则表达式

本帖最后由 albenlee 于 2020-2-17 15:22 编辑

给定一个字符串,用正则表达式验证,验证是否为合法路径,正则表达式要有通用性
  1. @echo off
  2. :: 给定一个字符串
  3. set p="d:\s s\asd8"
  4. ::使用findstr,验证路径的合法性,正则表达式怎么写?
  5. ::感觉正表达式有很多功能在批处理都不能使用
  6. echo %p%|findstr /r /i [a-z]:\\??? || echo no
  7. pause
复制代码

作者: Batcher    时间: 2020-2-17 16:35

回复 1# albenlee


findstr支持的正则非常有限
http://bbs.bathome.net/thread-24-1-1.html

可以考虑换成PowerShell试试
作者: CrLf    时间: 2020-2-17 23:28

本帖最后由 CrLf 于 2020-2-17 23:31 编辑

不一定要用正则嘛。。。抛砖引玉:
  1. set "p=d:\s s\asd8"
  2. robocopy /l . "%p:"=%" >nul 2>&1
  3. if errorlevel 16 echo 路径有误
复制代码
当然这个robocopy是从win7才开始自带的,不过适用同样原理的工具应该还有很多
作者: codegay    时间: 2020-2-18 01:09

回复 3# CrLf


    同理,robocopy 还可以当成一个查看当前日期和时间的工具




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2