如何在目录中移动最新文件,然后处理脚本的其余部分

火花

因此,我试图一次从包含2000个文件的目录中取出一个文件,然后将其移动到另一个目录中,以供其余脚本处理。该脚本在下面。现在,我知道gswin64行在单独运行时可以工作,我为其指定了文件名,但是我不确定该变量是否可用。但是,当我运行此脚本时,它将在运行脚本的其余部分之前将目录输入中的所有文件复制到目录中。我如何使其一次执行一次,然后在复制其余文件之前处理脚本?

oo
for /F "delims=" %%I in ('dir "H:\documents\gs\input\*.*" /A-d /B /O:-D') do (move "H:\documents\gs\input\%%I" "H:\documents\gs\working"&goto filemoved)
:filemoved

您的原始代码将尝试执行move "H:\documents\gs\input\*.*" "H:\documents\gs\working",这就是为什么所有文件都被移动的原因。您需要执行的是使用switch参数执行目录列表命令,并将其提供给for /f这种形式dir只会显示名称。因此,您需要在move命令中包括源目录名称您还需要具有"delims="确保正确处理包含分隔符的文件名选项,以及/a-d切换目录以确保不包括目录名的选项。由于您按相反的日期排序,因此将首先选择最新的文件。移动第一个文件后,您需要中止for循环,否则它将继续处理整个列表,并传输每个文件。这里的简单方法是简单地goto 下一行有一个标签。

您还使用了文件*.*掩码,该文件掩码将处理所有文件,而不管扩展名如何。由于您似乎只想处理.pdf文件,因此您可能应该更改该文件掩码以适合。

for /F "delims=" %%x in ('dir H:\documents\gs\working\*.pdf /b') do set "FileName=%%x"

同样,dir如果使用,则需要执行命令for /f没有明显的理由为什么您不会使用更简单的方法

for %%x in (H:\documents\gs\working\*.pdf) do set "FileName=%%x"

无论哪种情况,您都可能只需要name文件一部分,因此FileName应将其设置为%%~nx,而不是%%x

"C:\program files\gs\gs9.20\bin\gswin64" -o H:\documents\gs\output\"%FileName%" -sDevice=pdfwrite -dFitPage -dFIXEDMEDIA H:\documents\gs\working\"%FileName%"

不平衡引号-可执行文件的完整路径名必须用引号引起来,因为它包含分隔符。之后\可能需要去除杂散空间

最好用imho引用整个文件名,包括驱动器和路径,而不是仅引用文件名。

del /q H:\documents\gs\working\*.*

rm不是批处理命令。请注意,此命令将删除其中的所有文件,H:\documents\gs\working而不仅仅是.pdf您似乎正在处理文件。

goto start

该空间是必需的。gotostart不是内置命令。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在OS X中移动文件并创建缺少的目录?

目录中的Python最新文件

如何在Java中获取目录的最新文件

如何在目录中查找和选择最新文件并使用SQLRestore还原?

批处理脚本以获取最新文件夹

如何在git中复制目录,跟踪新文件?

如何使用cpp文件系统在目录中查找最新文件

在处理列的其余部分时,如何将导致错误的数据插入单独的文件中?

如何从目录中获取最新文件?

获取最新目录(不是最新文件)

MySQL从目录导入最新文件

Windows批处理脚本:匹配模式的最新文件

如何使用FileNameFilter列出目录中的最新文件

如何选择最新文件以批处理文件存储在文件夹中

如何从目录中查找最新文件

如何获取每个目录中的最新文件

如何在目录(包括子目录)中查找最新文件?

如何使用“ stat”检测新文件,然后将其移动到其他目录?

使用批处理脚本在名称以<>开头的目录中查找最新文件

从目录获取最新文件

创建新文件然后处理其内容时遇到麻烦

如何在脚本中将目录添加到 PATH 以影响调用 shell 和会话的其余部分?

如何使用Python在目录中查找最新文件

如何在 json_encode 输出后执行 php 脚本的其余部分?

将脚本指向最新文件

批处理脚本将每组 n 个文件移动到不同的新文件夹

在目录中查找最新文件

调用批处理文件运行后,脚本的其余部分没有运行?

python如何读取ftp目录中的最新文件