标题: [文本处理] 【已解决】批处理命令findstr字符集中如何能包含空格? [打印本页]
作者: 极品小猫 时间: 2014-11-24 15:34 标题: 【已解决】批处理命令findstr字符集中如何能包含空格?
本帖最后由 极品小猫 于 2014-11-25 07:53 编辑
- findstr /c:"^[0-9a-zA-Z\:\\\-_\.]*$"
复制代码
这条命令如果在字符集包括空格就会出错,在字符集内使用空格似乎无法被当作常规字符?不使用Sed命令如何解决这个问题?
作者: CrLf 时间: 2014-11-24 16:08
/c 后的参数变成普通字符串了,顶楼正则不生效的吧,再加个 /r- findstr /rc:"^[0-9a-zA-Z\:\\\-_\. ]*$"
复制代码
作者: 极品小猫 时间: 2014-11-24 18:20
回复 2# CrLf
有试过加 /r 但是结果一样
以下是完整代码
:InstallAPK
set InstallAPK="E:\Games\Android\APK\Orientation Control2.apk"
if defined InstallAPK (
echo %InstallAPK%|findstr /rc:"^[0-9a-zA-Z\:\\\-_\. ]*$" && (
echo %InstallAPK%
) || (
echo 不能存在非字母和数字的字符,按任意键返回
pause>nul
goto :InstallAPK
)
)
作者: apang 时间: 2014-11-24 20:25
本帖最后由 apang 于 2014-11-24 20:36 编辑
回复 3# 极品小猫
echo %InstallAPK% 只是显示文件路径
findstr /rc:"^[0-9a-zA-Z\:\\\-_\. ]*$" %InstallAPK% 才是搜索文件内容
-----------------------------------------------------------------------
貌似弄错了,这样试试:- @echo off
- :InstallAPK
- set InstallAPK="E:\Games\Android\APK\Orientation Control2.apk"
- if defined InstallAPK (
- echo %InstallAPK%|findstr /rc:"^\"[0-9a-zA-Z\:\\\-_\. ]*\"$">nul&& (
- echo %InstallAPK%
- ) || (
- echo 不能存在非字母和数字的字符,按任意键返回
- pause>nul
- goto :InstallAPK
- )
- )
- pause
复制代码
作者: amwfjhh 时间: 2014-11-24 22:34
- echo %InstallAPK%|findstr /rc:"^\"*[0-9a-zA-Z\:\\\-_\. ]*\"*$">nul&&()||()
复制代码
作者: 极品小猫 时间: 2014-11-25 07:52
回复 4# apang
谢谢,原来还要对 双引号 进行转义的啊
作者: 极品小猫 时间: 2014-11-25 07:53
回复 5# amwfjhh
请问对转义后的双引号加*通配的意义是?
作者: amwfjhh 时间: 2014-11-25 09:28
回复 7# 极品小猫
匹配零或多个,对引号进行转义,并加上通配符,可以兼容有引号和无引号的路径。
作者: 极品小猫 时间: 2014-11-25 09:47
本帖最后由 极品小猫 于 2014-11-25 09:48 编辑
回复 8# amwfjhh
了解了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |