好吧所以我有一个简单的批处理文件,有人为我创建基本上计算当前文件夹中的所有文件,然后创建3个文件夹,如此
照片\ 2017_11_01 \ 3
照片\ 2017_11_01 \ 10
照片\ 2017_11_01 \ 30
代码如下
@echo off
:: get total number of files
for /f %%A in ('dir /b *.jpg ^| find /v /c ""') do set /A total=%%A
:: create subfolders and calculate skip
for %%A in (3 10 30) Do (
mkdir "%%A"
if %%A neq 30 (
Set /A "skip%%A=total/25/%%A
) Else (
Set /A "skip%%A=total/%%A
)
)
set Counter=0
for %%f in (*.jpg) do call :p "%%f"
goto :EOF
:p
set /a "Counter+=1,X=Counter%%skip3,Y=Counter%%skip10,Z=Counter%%skip30"
if %X%==0 copy %1 "3"
if %Y%==0 copy %1 "10"
if %Z%==0 copy %1 "30"
goto :eof
将文件从当前文件夹复制到新创建的文件夹中,并且自今年5月起就像魅力一样工作。麻烦是非常耗时的,必须每天或每周这样做。但是我没有做2个月所以没有我有近60个文件夹可以通过,这将花费我一整天。
我的问题 可以修改它,以便我可以在"照片"中运行批处理文件。文件夹并以递归方式在每个子文件夹中运行。
由于某些原因,我不想每天自动化它。因此,能够立即在多个子文件夹中运行批处理文件将是一个巨大的进步。
答案 0 :(得分:0)
我建议你按原样使用你的工作脚本并构建一个包装器:
@echo off
for /d %%a in (20*) do (
echo processing %%a
pushd "%%a"
call "%~dp0yourcurrentscript.bat"
popd
)