批处理文本文件内容有什么问题

时间:2019-01-07 07:10:56

标签: batch-file

这是我一直记得在批处理文件中逐行处理文件内容的方式(通过网络搜索备份):

for /F "delims=" %%N in ("del files.txt") do del "%%N"

它现在删除"del files.txt",而@echo %%N给出"del files.txt"

由于空格原因,该名称是否与需要引用的名称有关?我想念WTF吗?

2 个答案:

答案 0 :(得分:0)

("string")用于解析字符串。 ("filename")可以与usebackq一起使用。您似乎在搜索中混淆了它们。因此,您可以编写:

for /f "usebackq delims=" %%N IN ("del files.txt") do whatever you want.

答案 1 :(得分:0)

不要指责我没有阅读帮助。

  1. 用于/? (我做的第一件事)产生:

    FOR / F [“ options”]%variable IN(文件集)DO命令[命令参数]
    FOR / F [“ options”]%variable IN(字符串)DO命令[command-parameters] 请注意,“ string”位于 Single Quotes !!!
    FOR / F [“ options”]%variable IN(命令)DO命令[命令参数]

因为我刚好丢失了“ if usebackq ...”行,因为它恰巧与命令提示符窗口中的“按任意键...”行丢失了,因为不幸的是它的大小不正确(并且仍然不显示标准引号中的文件集)。

我在问为什么在空格中需要引号而在不带/ F的情况下在(文件集)中使用引号而不在(文件集)中使用引号(即\%f in(“ c \:path w spc \ *。txt“)做...)

  1. 我在其他工作批处理文件中使用了确切的语法。尽管我去检查了每种情况,但(1)中都存在%1或环境变量,显然可以解决引号的处理方式。
  2. #1谷歌搜索结果:ss64.com/nt/for_f.html令我沮丧的是我错误地反读了usebackq并尝试了“,因为它继续说了”
  

“大多数情况下,反引号字符`都位于ESC键的下方   键盘”

,向我表明,如果我指示使用该字符,我应该将其(一次或两次)用作引号。

我正在提供此说明,以防其他人感到沮丧。

那些因为我认为是合理的困惑而将我“降级”的人,也阻止了我在完全无关的领域中提出不同的问题,如果他们会重新评估,我将不胜感激。我当然已经从不幸的系列事件中学到了教训。

我理解这项政策的原因,但非常沮丧的是,多年来我一度受到批评,只是因为运气不好,恕我直言,因为一个问题显然会令我受罚4或5天。

(自从消息显示以来,这还令人困惑

  

问了最后一个问题已经有2天了。我们要求您等待2天再询问。利用这段时间来回顾您以前的问题,进行编辑以解决人们在评论中指出的任何问题。

是2天或更长时间还是我等了2天?)

所以我想如果人们要为这次抗议加重我的负担,那又会花多少天呢?

还有一个谢谢!双声,即使它不是一个完整的解释,也可以提供有用的答案。

好吧,回到惩罚框...