DOS批处理命令一次处理1个文件

标签 dos

我正在尝试执行一项特定任务,我需要从一个文件夹中读取文件(一次一个),该文件夹可能包含未定义数量的文件。我需要能够将文件夹中的第一个文件移动到一个新位置,然后使用另一个批处理文件执行另一个任务。主要目的是一次读取一个文件,而不是执行 *.* 这将读取所有文件立刻。
任何帮助,将不胜感激 !
谢谢

最佳答案

您可以使用这样的 for 命令:

for /R c:\test\src %i IN (*.*) DO (
MOVE %i C:\test\dest
YourBatch.bat C:\test\dest\%~nxi
)

如果将此命令放在批处理文件中,则需要将 % 符号加倍,如下所示:
for /R c:\test\src %%i IN (*.*) DO (
MOVE %%i C:\test\dest
YourBatch.bat C:\test\dest\%%~nxi
)

在 YourBatch.bat 文件中,使用 %1% 访问文件名,如下所示:
@echo off
type %1%

编辑:

要只处理一个文件,只需在第一个循环结束时退出:
for /R c:\test\src %%i IN (*.*) DO (
MOVE %%i C:\test\dest
YourBatch.bat C:\test\dest\%%~nxi
exit
)

关于DOS批处理命令一次处理1个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1094800/

相关文章:

assembly - 参加汇编类(class),陷入DOS!

batch-file - 将 dos/batch 中的字符串添加到文件名

batch-file - 仅批量复制修改过的文件

windows - 大写文件名的第一个字母

video - 停止屏幕刷新 - INT 0x10(视频服务)- assembly 中

java - 在 Java 程序中在远程计算机上运行批处理文件

c - c全局变量使用中的键盘中断句柄

unix - 将 Unix 路径转换为 ​​DOS 路径

组装在模式 x 中读取平面是否需要与写入不同的输出到 VGA 端口?

assembly - X86指令在实模式下关闭计算机?