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

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

本帖最后由 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
复制代码
一起学习交流

回复 1# albenlee


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

可以考虑换成PowerShell试试
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 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才开始自带的,不过适用同样原理的工具应该还有很多

TOP

回复 3# CrLf


    同理,robocopy 还可以当成一个查看当前日期和时间的工具
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

返回列表