gpt4 book ai didi

batch-file - Forfiles/P 命令问题(未记录?)

转载 作者:行者123 更新时间:2023-12-04 01:37:28 24 4
gpt4 key购买 nike

我有一个场景:

FORFILES /P "C:\users\DominiqueGerry\Work Files\" /S /M *.doc /C "cmd /c echo @fsize"
给我一个错误:

ERROR: Invalid argument/option - '@fsize'.

Type "FORFILES /?" for usage.


但是当我删除斜线时,它起作用了:
FORFILES /P "C:\users\DominiqueGerry\Work Files" /S /M *.doc /C "cmd /c echo @fsize"
我不明白为什么没有反斜杠这不起作用,但没有反斜杠。我找不到任何官方文档来解释这一点。并且在运行 help forfiles /? 时甚至没有看到任何提到的内容我将不胜感激。
最好的部分是。该错误甚至与手头的问题无关。

最佳答案

老实说,我不认为官方帮助中的任何地方都记录了它(至少不是我所看到的),但实际发生的是尾随反斜杠实际上是在逃避最后一个双引号。在我看来,这实际上是一个错误。

之所以报错不相关,仅仅是因为forfiles由于缺少反斜杠转义的双引号,命令检测到格式错误。

您将看到当您没有双引号时不会发生这种情况,因此假设您的路径中没有空格:

FORFILES /P C:\users\DominiqueGerry\WorkFiles\ /S /M *.doc /C "cmd /c echo @fsize"

不会给你一个错误,仅仅因为 bassklash 没有任何有效的字符可以转义,问题是,你的路径中有一个空格,所以你必须使用双引号。所以最好保留双引号,不要添加尾部反斜杠:
FORFILES /P "C:\users\DominiqueGerry\Work Files" /S /M *.doc /C "cmd /c echo @fsize"

或者,如果您坚持使用反斜杠,只需通过加倍来逃避它。
FORFILES /P "C:\users\DominiqueGerry\Work Files\\" /S /M *.doc /C "cmd /c echo @fsize"

编辑,也如 的评论中所述@aschipfl 您可以使用 . :
FORFILES /P "C:\users\DominiqueGerry\Work Files\." /S /M *.doc /C "cmd /c echo @fsize"

关于batch-file - Forfiles/P 命令问题(未记录?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54213400/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com