[OK]を私は私のために作成した簡単なバッチファイル誰かが基本的に現在のフォルダ内のすべてのファイルをカウントし、その後2017_11_01 \そう実行バッチファイル
写真2017_11_01 \ 3
\写真のように3つのフォルダを作成する必要がありますので、 \
@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
新たに作成したフォルダに現在のフォルダからファイルをコピーしますであり、Wがありますが、次のように2017_11_01
30 \コード\ 10枚の
写真があります今年5月から魅力的なものになった。トラブルは非常に時間がかかり、毎日または毎週これを行う必要があります。しかし、私は2ヶ月間それを行っていないので、私は一日中私を連れていくことになる60のフォルダがあります。
私の質問 "Photos"フォルダ内のバッチファイルを実行して各サブフォルダ内で再帰的に実行できるように、これを変更できますか?
私はいくつかの理由で毎日自動化したくありません。一度に複数のサブフォルダでバッチファイルを実行できるようになると、大幅に改善されます。私はあるとラッパーを構築する作業スクリプトを使用することをお勧めし
'recursively'は意味:*すべての*サブ・サブ・フォルダを含むルートフォルダ(以下、フォルダ、サブサブでそれを実行します - サブフォルダなど)、それはあなたが欲しいものですか?または、ルートフォルダ内のすべてのフォルダ(1ステップだけ)? – Stephan
こんにちは申し訳ありません。だから私は、 "写真"のルートフォルダにバッチファイルを配置し、すべてのフォルダ( "2017_11_01"、 "2017_11_02"など)のすべてのフォルダで実行したいと思います。スクリプトは一度に理想的には1つのフォルダを実行するのに約2分かかっています(とにかく動作すると思います) –