问题标签 [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 投票
1 回答
119 浏览

windows - ffmpeg 在 forfiles 循环中调用时覆盖输入文件

我需要使用 ffmpeg 加入几个 mp4 和 wav 文件对。

当我运行指定文件名的命令时,它运行良好:

.\ffmpeg.exe -i file01.mp4 -i file01.wav -c:v copy -c:a aac -b:a 96k file01_new.mp4

但是当我将此调用集成到 forfiles 循环中时,源 mp4 文件被覆盖,输出 mp4 文件仅包含音频:

forfiles /M "*.mp4" /C ".\ffmpeg.exe -i @FNAME.mp4 -i @FNAME.wav -c:v copy -c:a aac -b:a 96k @FNAME_new.mp4"

我真的不明白在加入 MP4 和 WAV 文件之前会发生什么。为什么源 MP4 被覆盖?

如何编写此脚本以使其工作?谢谢您的支持。

0 投票
1 回答
47 浏览

windows - 如果文件夹中的子文件夹包含超过 30 天的文件,则删除文件夹

我有以下路径: C:\folder\subfolder1\subfolder2

我想检查“subfolder2”中的所有文件是否超过 30 天,如果是,请删除 C:\folder 路径(不仅是 subfolder2)。

使用 forfiles 我可以删除 subfolder2 但不能删除到父文件夹 (C:\folder) :

你知道怎么做吗?

谢谢您的帮助。

0 投票
0 回答
177 浏览

batch-file - 使用 forfiles 的多个命令?

我正在尝试使用 LAME 编码器自动将一些旧的 wav 文件转换为 MP3 以释放存储空间。不幸的是,我没有多少成功。我正在使用以下命令:

理想情况下,我想使用单个批处理文件使用相同的文件夹结构将 MP3 文件输出到不同的驱动器。

我考虑过使用:

但是,这似乎不起作用,而且似乎效率很低。

我还考虑过使用@relpath 变量来复制文件夹结构,这样我就可以尝试这样的事情:

但是我不确定如何做到这一点。任何援助将不胜感激。谢谢你。

0 投票
0 回答
56 浏览

batch-file - Batch) '/c' 选项的值不能超过 253 个字符

我正在尝试使用 Windows 批处理脚本将文件移动到所需的路径。(.bat) 但是,发生此错误并且代码未执行。

我还没有找到解决这个问题的方法。如何修复此代码?

0 投票
1 回答
77 浏览

cmd - 使用 DIR 或 FORFILES 创建找到的文件列表

我有一个当前正在使用的字符串,但我只想带回在特定时间范围内创建的文件,最好是过去 14 天。这是当前的命令行:

dir \\UNC FilePath\*file.TXT /S /B > C:\DIRECTORY\Results\RESULTS.TXT

我使用 forfiles 阅读是要走的路,但我无法让它工作或弄清楚如何将它写入 txt 文件。

forfiles /s Y:\*file.TXT /d -14 /c "cmd /c echo @path"

我是一个网络人,试图帮助朋友解决一些服务器问题。这段代码是从一个显然不太喜欢 powershell 的 excel 宏中调用的(idk,正是我收集的)

本质上,他希望在 Y: 上的任何目录中创建的所有 file.txt 都输出到 results.txt。这甚至可以用任何一种方法吗?

0 投票
0 回答
124 浏览

batch-file - 批处理脚本:gpg2 解密在命令行上与“for files”一起使用时挂起

我想解密文件夹中存在的所有 .pgp 文件。假设文件夹只有 .pgp 文件,我使用以下命令来自动执行任务:

但是这个命令挂在终端上。

我可以使用相同的 gpg2 命令一次解密一个文件,例如: 下面的命令可以正常工作。

0 投票
3 回答
526 浏览

batch-file - Remove last new line character of text file in batch

I have a directory with nany text files, each containing an URL. I want to write each URL including a new line character to a text file. Therefore I created two batch files:

job.bat:

output.bat:

When I run job.bat all URLs are written to the text file.

But there is one problem: At the end of the text file there will be a new line at the end of the text file, even if no further line will follow. What can I do to remove the new line character at the end of urls.txt?

urls.txt should look like this: urls.txt

That's how job2.bat looks like: job2bat

I'm not able to insert a screenshot of urls.txt, since it needs to be scrolled. But I can tell you, that it contains all URLS, one after another without being seperated by any space or new line character.

The exact .m3u files can be found on a subpage of the homepage of a German radio station (ending with .m3u). Therefore I do not include any screenshot of a m3u file.

0 投票
1 回答
278 浏览

windows - Windows 批处理文件:FORFILES“日期之间”解决方法 - 如何使 >CON 输出可用于 FOR 循环

我创建了一个批处理文件,目的是精简旧的备份文件。更具体地说,该脚本会识别上次修改日期在 183 到 365 天之间的备份文件,在整个 6 个月期间内每 7 天删除所有 bar 一个文件。如果在 7 天内有零个或一个文件,则不会删除任何文件。

该脚本基本上可以工作,但依赖于一个临时文件来存储每 7 天的匹配文件的文件名。我想知道是否可以修改脚本以在不需要临时文件的情况下执行相同的操作。

该脚本的灵感来自aschipfl解决FORFILES设计缺陷的答案中描述的技术。这种技术有效地增强FORFILES了 ,因此它可以识别在两个日期(或几天)之间最后修改的文件。我看到的困难在于FORFILES“文件识别”输出被重定向到CON设备。这意味着输出不可用于FOR /F循环进行进一步处理。所以我的“快速修复”是将输出重定向到一个临时文件,FOR /F循环可以访问该文件。我想知道是否可以插入一些文件描述符魔术来利用输出到FOR.

这是我的(非破坏性)脚本:

0 投票
1 回答
38 浏览

file - 在 600 天内将文件从文件夹移动到存档文件夹需要帮助

我有多个目录,其中包含需要移动到其存档文件夹的旧文件。

源目录:A\B\C
目标目录:A\B\C\archive

但我不想针对目录 D 下的文件 --> A\B\C\D

0 投票
1 回答
37 浏览

windows - How can I rename file extensions to another extension type, on another directory?

I'm attempting to rename all files with the file extension of ".ACH" to ".TXT" on another directory.

I used the below batch file on my local machine and it works like a charm:

However, when I attempt to use the same syntax on the server, nothing happens:

I'm not understanding what I'm doing wrong, but something tells me it's how I'm using the CD command.