标题: [文本处理] 批处理for循环怎样查看相同字符串? [打印本页]
作者: 441857769@qq.co 时间: 2013-7-25 17:51 标题: 批处理for循环怎样查看相同字符串?
- @echo off
- set pa=%PATH%
- :a
- for /f "tokens=1,* delims=;" %%i in ("%pa%") do (
- set pa=%%j
- set str=%%j
- :b
- for /f "tokens=1,* delims=;" %%a in ("%str%") do (
- if "%%i"=="%%a" echo "有相同的字符"
- set str=%%b
- if defined str (goto :b)
- )
- if defined pa (goto :a)
- )
- pause
复制代码
我想写 查询自己的 环境变量中有没有重复的。就在新的环境变量中删除一个重复的,但写到判断有没有重的的项时遇到了问题
1.发现 set str=%%j 时 str显示为空的。没有赋值成功
2.不知道 为什么 第二个for循环中 "%%i"=="%%a" 为什么总是相等的。
3.不知道我这样写是不是逻辑有错误。
4.后面如何替换有思路点不清i淅,能否给个思路。
作者: apang 时间: 2013-7-25 21:43
本帖最后由 apang 于 2013-7-25 22:02 编辑
思路:先将;字符替换成" "字符(两个双引号和一个空格),再交给for处理- @echo off
- for %%a in ("%path:;=" "%") do (
- if not defined %%~a (set "%%~a=1") else echo,重复字符:%%~a
- )
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |