找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 30106|回复: 3

[文件操作] 一个通用的路径验证正则表达式

[复制链接]
发表于 2020-2-17 15:18:52 | 显示全部楼层 |阅读模式
本帖最后由 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
复制代码
发表于 2020-2-17 16:35:05 | 显示全部楼层
回复 1# albenlee


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

可以考虑换成PowerShell试试
发表于 2020-2-17 23:28:45 | 显示全部楼层
本帖最后由 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才开始自带的,不过适用同样原理的工具应该还有很多
发表于 2020-2-18 01:09:10 | 显示全部楼层
回复 3# CrLf


    同理,robocopy 还可以当成一个查看当前日期和时间的工具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 14:59 , Processed in 0.016954 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表