标题: [文本处理] [已解决]批处理怎样echo含有空格的每一行,作为参数? [打印本页]
作者: lxh623 时间: 2011-11-14 21:09 标题: [已解决]批处理怎样echo含有空格的每一行,作为参数?
本帖最后由 lxh623 于 2011-11-15 14:35 编辑
我的文本象下面,怎样把每一行(一到三个单词,空格分隔)当成一个单词(比如“liquid crystal”)去搜索并移动文件。搜索移动我已经解决。
http://www.bathome.net/redirect. ... 6512&ptid=14568
我想问,怎样echo含有空格的每一行,作为参数?
谢谢您!
文件夹名称1.txt:(示例)
antenna
liq crystal
liquid crystal
liquid crystal display
作者: CrLf 时间: 2011-11-14 21:58
用不带参数的 for- @echo off
- for /f "delims=" %%a in (1.txt) do (
- for %%b in (%%a) do echo %%b
- )
复制代码
作者: lxh623 时间: 2011-11-15 00:06
用不带参数的 for
CrLf 发表于 2011-11-14 21:58
谢谢!
不是这样的,我想得到“liquid crystal”,“liquid crystal display”之类,你这个得到每行一个单词。
作者: CrLf 时间: 2011-11-15 00:37
那是这个吗?- for /f "delims=" %%a in (1.txt) do echo %%a
复制代码
作者: lxh623 时间: 2011-11-15 07:14
那是这个吗?
CrLf 发表于 2011-11-15 00:37
谢谢!
单纯echo是对的,但是为什么下面代码不对?- @echo off
- setlocal ENABLEDELAYEDEXPANSION
- for /f "delims=" %%a in (文件夹名称1.txt) do (
- set VAR=%%a
- for /f "delims=" %%k in ('dir /s/b/a-d E:\JP-XIN\*.pdf E:\JP-XIN\*.txt ^| findstr /i "!VAR!"') do (
- for /f "delims=" %%l in ('dir /s/b/a:d-h E:\ ^| findstr /i "!VAR!" 2^>nul') do (
- if not "%%l"=="" move "%%k" "%%~fsl" >nul 2>nul
- )))
- pause
复制代码
作者: CrLf 时间: 2011-11-15 11:46
回复 5# lxh623
findstr 的搜索关键词中含有空格时需要加 /c 开关:- findstr "a b c" 1.txt
- ::搜索的是 a 或者 b 或者 c
- findstr /c:"a b c" 1.txt
- ::搜索的是 【a b c】
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |