【问题标题】:Read specific Word(Line 2, Word 3) from a text file by batch script通过批处理脚本从文本文件中读取特定的单词(第 2 行,第 3 行)
【发布时间】:2013-09-16 14:10:01
【问题描述】:

我需要通过批处理脚本从文本文件中读取特定的单词。假设我想读取第 2 行的第 3 个单词。

这里是代码::

   @ECHO OFF
    cls
    SET /P line=Please enter Line number: 
    ECHO Line number entered is : %line%

    SET /P word=Please enter Word number: 
    ECHO Word number entered is : %word%


    FOR /F "tokens=%word% skip=%line% delims=," %%G IN (E_dir.txt) DO echo Chosen word is: %%G

问题是,这给了我从第 2 行开始的所有第 3 个单词。(例如,用户输入是第 1 行,第 3 个单词)。行数有问题,但我可以处理。我的问题是,当我只需要第 2 行和第 3 行的单个单词时,它给了我所有的单词。

输入文件:E_Dir.txt

January,Snowy,02
February,Rainy,15
March,Sunny,25
April,Test,20

输出:

Please enter Line number: 1
Line number entered is : 1
Please enter Word number: 3
Word number entered is : 3
Chosen word is: 15
Chosen word is: 25
Chosen word is: 20

预期输出:

Please enter Line number: 1
Line number entered is : 1
Please enter Word number: 3
Word number entered is : 3
Chosen word is: 15

【问题讨论】:

    标签: batch-file batch-processing


    【解决方案1】:

    首先 ...

    FOR /F "tokens=%word% skip=%line% delims=," %%G IN (E_dir.txt) DO echo Chosen word is: %%G&goto nextline
    :nextline
    

    第二个 ...

    set showme=Y
    FOR /F "tokens=%word% skip=%line% delims=," %%G IN (E_dir.txt) DO if defined showme set showme=&echo Chosen word is: %%G
    

    修改

    SET /a showme=line-1
    SET showme=skip=%showme%
    IF %line% equ 1 set "showme= "
    FOR /F "tokens=%word% %showme% delims=," %%G IN (E_dir.txt) DO if defined showme set showme=&echo Chosen word is: %%G
    

    请注意,%line% 为 1,showme 被故意设置为空格。这可确保 showme 最初有一个值。

    我不知道你的流浪“2”是从哪里来的。该程序对我有用。也许您可能想使用十六进制编辑器检查源文件。它可能有一行没有 LF。可能还检查您的批次。如果您使用过 NOTEPAD,请尝试使用 EDITPLUS 或 NOTEPAD++ 之类的编辑器。记事本做了一些奇怪的事情。

    【讨论】:

    • 好先生..!!!工作..我太愚蠢了..不知道如何使用'&'。非常感谢..
    • 我在最后打印了一个额外的号码。请输入行号:1 输入的行号是:1 请输入字号:3 输入的字号是:3 15 2
    • 这个'2'最后来自哪里......?
    猜你喜欢
    • 2010-09-12
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2018-04-12
    相关资源
    最近更新 更多