问题标签 [forfiles]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
106 浏览

windows - 即使我没有使用 /S 参数,为什么 Forfiles 会递归?

在 Windows Server 2008 R2 Standard 上的 Windows 批处理文件中,我尝试使用 Forfiles 命令而不递归文件,但即使我没有使用 /S 参数,它仍然会递归。

我怎样才能让它停止递归

我已经尝试过使用@path 和@file,甚至使用/s。当我使用 /S 时,递归量太可笑了!

在上面的代码中,我希望 temp.txt 只显示指定文件夹中的文件,而不是它的任何子文件夹。

0 投票
1 回答
141 浏览

windows - 为什么 windows 命令提示符 forfiles 会在开始时返回一些带有 ~$ 的文件名?

我是使用 Windows 命令提示符的新手,如果这是一个简单的问题,我深表歉意。我正在使用 forfiles 生成文件夹及其子目录中所有文件的列表,该列表还包括上次修改的文件的日期和时间。这可以正常工作,但对于某些文件,即使实际文件名不包括此,列表也会在文件名中打印 ~$。例如命令返回:

ExampleFolder1\ExampleFolder2\~$Examplefilename.docx 10/10/2010 10:10

什么时候应该返回

ExampleFolder1\ExampleFolder2\Examplefilename.docx 10/10/2010 10:10

这只发生在打印列表中的某些文件上。

此外,有时运行 forfiles 时打印 ~$ 的文件是文件夹中实际不存在的文件的名称,在某些情况下,它似乎是运行 forfiles 时已打印的文件的副本但修改的时间会有所不同。例如 forfiles 可能会返回:

我只是想知道是否有其他人遇到过这个问题?

我唯一的理论可能是它为已删除或剪切并移动到其他地方的文件返回 ~$ 文件名,但我在命令提示符下的知识有限,所以我完全不确定。

这是我用来打印文件夹(不包括目录)的所有文件和子目录文件列表的代码:

FORFILES /s /c "cmd /c if @isdir==FALSE echo @path @fdate @fdate"

理想情况下,我只想知道打印此类文件的原因。谢谢你的帮助

0 投票
2 回答
1809 浏览

windows - 批处理文件循环遍历文件夹中的文件并运行 Exe 获取信息

我正在编写一个 *.BAT 文件来计算文件夹中每个 GIF 文件中的帧数。将所有内容写入 TXT 文件会很好,但我还没有做到这一点。

我可以从命令行对单个文件执行此操作。

这可以满足我的要求,但它不会将帧数输出到窗口。下一行是它应该对单个文件执行的操作的示例。

这两行应该对文件夹中的每个文件执行相同的操作。但是,他们只是回显命令,而不是显示其输出。

我唯一能看到错误的是双引号,但这表明不是这样:

它应该为每个文件输出一个整数。第 1 行执行此操作。第 2 行和第 3 行没有;他们只是echo命令。

0 投票
2 回答
1122 浏览

cmd - 在 PowerShell 中使用 forfiles 将文件移动到名称中包含多个单词的文件夹时遇到问题

我是 PowerShell 的新手,正在尝试使用 forfiles 命令将一些 excel 电子表格移动到名为“旧文件夹”的文件夹中。PowerShell 说文件已被移动,但是当我检查文件夹时它们不存在。它们也不在原来的位置。

我尝试将文件夹名称更改为单个单词“oldfolder”,它工作得很好。我究竟做错了什么?

0 投票
0 回答
69 浏览

batch-file - 尝试编写一个批处理文件,使用 FORFILES 删除旧的 xml 和 psr 数据文件,同时还计算以这种方式删除了多少文件

变量声明:

我已经有一个使用 FORFILES 删除 xml 和 psr 数据文件的工作 for 循环,它看起来像这样:

现在我想修改这个批处理文件来计算被 FORFILES 命令删除的文件的数量(对于每种文件类型),我相信这可以通过将 FORFILES 命令放入 FOR /F 循环来实现。我不想做一个嵌套的 for 循环,但最终创建了一个子例程。我的代码现在看起来像这样:

似乎计数没有正确增加。当我尝试回显时!count!它输出:

当我尝试改变!count!到 %count% 我得到这个输出:

如果我在 :process_files 结束之前回显计数,它会输出“计数”,所以看起来它被视为字符串,而不是整数。不知道为什么会这样。

0 投票
1 回答
336 浏览

windows - 无法使用“forfiles”命令删除文件,但能够提取它们

我正在尝试删除超过某个时间段的文件。

我在删除某种格式的 txt 文件时遇到问题。

文件:KB4054981_20180130_060034933-Microsoft .NET Framework 4.6.1-MSP0.txt。

当我尝试回显所有 txt 文件时,会打印上述文件。但是,我尝试删除它,它出现“找不到文件”。

在此处输入图像描述

任何帮助表示赞赏!

0 投票
2 回答
229 浏览

batch-file - 获取早于 x 天的空文件夹列表

我需要获取给定位置的空文件夹列表,然后是 x 天。使用“forfiles”我可以获得所有旧文件夹,但不是空文件夹。使用“for”我可以获得所有空文件夹,但我似乎无法设置旧文件夹。

获取空文件夹:

获取旧文件夹:

如何组合这两个命令?

0 投票
1 回答
295 浏览

windows - IF 多个条件

Fe 用户桌面上有一些文件夹。我想删除此文件夹中除快捷方式之外的所有文件。有两种类型的快捷方式 - 一些本地\网络资源和一些网站的快捷方式。

“某些本地\网络资源的快捷方式”具有 .lnk 扩展名

“某些网站的快捷方式”具有 .url 扩展名

已经找到了如何单独完成这项任务

但是如何将这些条件组合成一个字符串呢?像if /I [%~xG] neq [.lnk] AND [.lnk]...

0 投票
2 回答
952 浏览

windows - 将工作目录的路径替换为 UNC 路径

我有一个脚本,它输出名称以预定义值开头的所有子文件夹。因为我需要它在网络位置上工作,所以我使用 PushD。一切正常,输出符合请求的搜索条件。但是,当前输出显示临时位置上的位置,而不是网络路径上的完整路径。如何修改脚本以显示正确的完整网络位置,而不是临时文件夹上的位置?我可以进行搜索和替换吗?

所以当运行 c:\test.bat "\\server\folder" DEMO

将输出...

并不是 ...

我怎样才能解决这个问题?谢谢...

0 投票
2 回答
570 浏览

windows - 修复 findstr 以忽略与路径匹配的文件名

我正在尝试创建昨天创建的文件列表。

我在没有 /c:"cmd /c echo @path" 的情况下可以正常工作,但我想要完整路径。

将 findstr 与包含反斜杠的路径一起使用来解决此问题的最佳方法是什么?我是否需要用其他符号替换比较文件中的所有反斜杠,然后稍后再将其更改回来,还是在 findstr 行中有更简单的方法?