【问题标题】:Is there a way to loop through a files contents and use it in batch?有没有办法遍历文件内容并批量使用它?
【发布时间】:2022-01-13 16:30:18
【问题描述】:

我正在处理一个批处理文件中的项目,需要遍历文件的内容并打印出内容。

我设置了一个for /f 循环来遍历文件的内容,但它不起作用。

守则

cd C:\Users\(my name was here)
for /f %%G in (List.txt) (
    del /F /S %%G
    echo %errorlevel%
    pause
)

我已经在谷歌上搜索了大约一个小时,但找不到任何对我有用的东西。我希望你们能告诉我我的代码有什么问题。

如果您要回答,请附上代码说明,以便我了解我做错了什么。

【问题讨论】:

    标签: for-loop batch-file file-handling


    【解决方案1】:

    cmdfor /F 循环的默认 delimiters 是空格。您的代码将拆分并分配第一个单词/数字/行,直到第一个空格。

    您需要告诉for /f 循环不要使用任何分隔符。还有usebackq,以便您对文件进行双引号,因为它也可以是带有空格的文件的完整路径,即:"C:\My Documents\Old Files\list.txt"

    @echo off
    for /f "usebackq delims=" %%i in ("List.txt") do del /F /S "%%~i"
    

    那么,del 不会设置errorlevel,您将始终返回0。如果你真的想检查结果,将stderr重定向到stdout并使用findstr判断删除是否成功。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-16
      • 1970-01-01
      • 1970-01-01
      • 2010-11-20
      • 2020-03-25
      • 1970-01-01
      • 1970-01-01
      • 2016-05-03
      相关资源
      最近更新 更多