返回列表 发帖

[文本处理] [已解决]批处理怎样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
1

评分人数

    • CrLf: 感谢给帖子标题标注[已解决]字样PB + 2

用不带参数的 for
@echo off
for /f "delims=" %%a in (1.txt) do (
    for %%b in (%%a) do echo %%b
)COPY

TOP

用不带参数的 for
CrLf 发表于 2011-11-14 21:58

谢谢!
不是这样的,我想得到“liquid crystal”,“liquid crystal display”之类,你这个得到每行一个单词。

TOP

那是这个吗?
for /f "delims=" %%a in (1.txt) do echo %%aCOPY

TOP

那是这个吗?
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
)))
pauseCOPY

TOP

回复 5# lxh623


    findstr 的搜索关键词中含有空格时需要加 /c 开关:
findstr "a b c" 1.txt
::搜索的是 a 或者 b 或者 c
findstr /c:"a b c" 1.txt
::搜索的是 【a b c】COPY
1

评分人数

TOP

返回列表