簡體   English   中英

如何將所有批處理文件合並到一個批處理文件中

[英]How to Combine all Batch Files in one single batch file

我使用下面的所有批處理文件並且它們工作,我一個接一個地使用它們。

我應該采取什么方法將它們組合在一個批處理文件中?

Now I use one batch file with:
 call "file1.bat"
 call "file2.bat"
 call "file3.bat"
and so on

我有一個包含數千個.mp4 文件的文件夾,all.mp4 已經分組在文件夾中。

我的批處理文件已經做了什么:開始將文件夾中的 .mp4 文件移動到主文件夾中,刪除剩余的空文件夾。 用隨機名稱重命名.mp4,這樣當我再次對它們進行分組時,文件夾的內容會有所不同。 然后將 .mp4 文件在文件夾中按 60 分組,然后在其他新文件夾中按 15 分組這些文件夾。 我需要選擇文件夾中有多少個 mp4 文件,然后有多少個帶有 .mp4 的文件夾被分組到其他文件夾中。

我在以下步驟中使用以下批處理文件:

第一步:我將.mp4 文件從文件夾移動到主文件夾並刪除剩余的空文件夾。

@echo off
set "dest="
set "source="
for /r "%source%" %%d in (*) do move "%%d"  "%dest%"
FOR /F delims^= %%A IN ('DIR/AD/B/S^|SORT/R') DO RD "%%A"

第二步我用隨機名稱重命名.mp4,這樣當我再次對它們進行分組時,文件夾的內容會有所不同。

@echo off
set "chars=ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
for /f "eol=: delims=" %%F in ('dir /b /s /a-d *.mp4') do call :renameFile "%%F"
exit /b

:renameFile
setlocal enableDelayedExpansion
:retry
set "name="
for /l %%N in (1 1 8) do (
  set /a I=!random!%%36
  for %%I in (!I!) do set "name=!name!!chars:~%%I,1!"
)
echo if exist !name!.mp4 goto :retry
endlocal & ren %1 %name%.mp4

第三步:為了確保 .mp4 文件足夠混合,我還使用了計數重命名

@Echo off
For /f "tokens=1* delims=:" %%A in (
  'Dir /B/S/ON/A-D "*.mp4" ^|findstr /N /V "^$"'
) Do Ren "%%~fB" "%%A%%~xB"

第四步:這里我將.mp4文件分組,每個文件夾60個或根據需要選擇多少個

@echo off
setlocal enabledelayedexpansion
PushD %~dp0
set "songsPeralbum=60"
set "fcount=0"
set idx=0

for /F "delims=" %%I in ('dir /a-d /o:n /b *.mp4') do (
    REM echo Processing %%I
    set /a idx=idx %% songsperalbum +1
    if !idx! equ 1 set /a fcount+=1
    md Album-!fcount! 2>nul
    move "%%I" "Album-!fcount!\"
    REM pause
)

第五步:這里我把所有包含.mp4文件的文件夾,分組到其他文件夾中。 在創建的文件夾中,我將添加 15 個或更多文件夾。

在這里,我需要另一個代碼來自動對找到的所有文件夾進行分組,並可以選擇 select 要分組多少個文件夾。

@Echo off
mkdir "Album-1" "Album-2" "Album-3" "Album-4" "Album-5" "Album-6" "Album-7" "Album-8" "Album-9" "Album-10" "Album-11" "Album-12" "Album-13" "Album-14" "Album-15" "Album-16" "Album-17" "Album-18" "Album-19" "Album-20" & popd 


for /D %%b in ("Album-1") do move /Y "%%~fb" "Album-1\"
for /D %%b in ("Album-2") do move /Y "%%~fb" "Album-1\"

and so on

所有這 5 個批處理文件都放在一個批處理文件中,這將是很棒的,同時優化以快速工作。 因為我有數千個文件。 謝謝你

你應該使用iexpress ,它是 Windows 的一個組件,用於從一組文件中創建自解壓包。
您只需要:
-視窗
- 一個批處理文件,啟動所有要合並的批處理文件
- 要合並的批處理文件
無需安裝任何東西。
警告:使用任何“CD”命令將所有內容設置為僅在根文件夾中工作,所有內容都需要在存儲 MP4 文件的文件夾中工作
腳步:

  1. 搜索開始“iexpress”
  2. Select“創建新的自解壓指令文件”並單擊“下一步”
  3. Select “解壓文件並運行安裝命令”,點擊“下一步”
  4. 在“Package Title”上輸入你想要的任何內容,然后單擊“next”
  5. Select“無提示”點擊“下一步”
  6. Select“不顯示許可證”並單擊“下一步”
  7. 現在添加這些批處理文件:-首先添加打開其他批處理文件的批處理-現在以正確的順序添加所有其他批處理文件並單擊“下一步”
  8. 詢問“安裝程序”時寫啟動其他批處理文件的批處理文件名,“安裝后命令”中不要寫任何內容,點擊“下一步”
  9. Select 如果顯示 cmd windows 我建議設置為“默認”,單擊“下一步”
  10. 當它要求設置某種“完成的消息”時再次單擊“下一步”
  11. 單擊“Broswe”並為文件命名(末尾沒有任何.bat或擴展名)和select“隱藏文件提取進度Animation from User”,然后單擊“下一步”
  12. Select“不重啟”點擊“下一步”
  13. Select“不保存”並點擊“下一步”
  14. 點擊下一步”
    完畢!
    現在您將獲得一個.exe 文件,該文件將打開您需要的所有批處理文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM