我正在尝试将每 30 个文件从一个文件夹复制到另一个文件夹,并自动执行其他文件夹的过程。我已经尝试过此线程中的批处理脚本:Windows批处理文件脚本将每十个文件从一个文件夹复制到另一个文件夹 https://stackoverflow.com/questions/5560371/windows-batch-file-script-to-copy-every-tenth-file-from-a-folder-to-another-fold当我运行该文件时,只是得到“该命令中的语法不正确”(是的,我已经尝试了两个版本)。
我的文件夹名称中确实有空格(不是我的选择,无法更改)。这些文件名为 image00000X.jpg,是的,它们有超过 100k 个(这就是为什么我真的希望脚本能够工作)。
理想情况下,我想要一种设置脚本的方法,这样我就可以更改输入和输出路径,而不必在运行脚本时在不同的文件夹之间移动脚本,但我会满足于我能得到的任何结果因为我已经尝试了几乎所有其他内容(包括 robocopy、Xcopy、五个 Powershell 脚本和一些 BASH 脚本)。
Thanks!
这是一个简单的批处理文件:
:: copyNth.bat interval sourcePath destinationPath
@echo off
setlocal
set /a n=0
for %%F in ("%~f2.\*") do 2>nul set /a "1/(n=(n+1)%%%1)" || copy "%%F" %3
示例用法:
copyNth 30 "c:\someSourcePath" "d:\someDestinationPath"
The "%~f2.
is 语法允许您安全地将文件(或文件掩码)附加到任何提供的路径 https://stackoverflow.com/q/26702311/1012053.
获取每个第 N 个值的技巧是让 SET /A 故意引发除以 0 的错误。我将错误消息重定向到 nul,并仅在出现错误时有条件地复制文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)