.bat文件:拖放文件夹和文件(某些类型)并进行排序

时间:2018-03-01 00:05:25

标签: sorting batch-file filter drag-and-drop

以下是我的代码。它在一定程度上起作用。

@ECHO off

FOR %%I IN (%*) DO (
    ECHO.%%~aI | FIND "d" >NUL
    IF ERRORLEVEL 1 (
        :: Processing Dropped Files
        FOR /f "tokens=*" %%I IN ('DIR /b "%%~nI.flac" "%%~nI.mp3" "%%~nI.acc" ^| sort') DO ECHO FILES:%%~I     
    ) ELSE (
        :: Processing Dropped Folders
        ECHO FOLDER: %%I
        FOR /f "tokens=*" %%I IN ('DIR /b %%I\*flac %%I\*mp3 %%I\*acc ^| sort') DO ECHO FILES SUBDIR:%%~I
    )
)
pause

我的目标是允许将文件夹和文件一起拖放到.bat文件上并获取其路径,以便我可以通过SoX程序运行它们。 (我能做的那一点)。我只需要带扩展名的路径。

对于拖到.bat文件上的文件夹,我想要path中的文件。 对于拖到.bat文件上的文件,我也想要path这些文件。

(我想要使用的文件类型为.flac .mp3& .acc

此外,在拖动文件夹和文件时,它们的排序不是文件夹然后是文件。在此之后,我希望它们按name排序。如果这可以轻松完成,那就太好了。

编辑1: 我找到了https://stackoverflow.com/a/46956193/8262102,它解释了“找不到文件”错误。 使用:

for /f "tokens=*" %%I in ('DIR /B /O "%%~I.flac" "%%~I.mp3" "%%~I.acc" 2^>nul') do ECHO DROPPED FILES: %%~I

相反:

FOR /f "tokens=*" %%I IN ('DIR /b "%%~nI.flac" "%%~nI.mp3" "%%~nI.acc" ^| sort') DO ECHO FILES:%%~I

的工作。

我只需要先在列表中排序的文件夹,然后按名称排序文件。 如果名称是:

1 - Pantha Du Prince - The Winter Hymn (Ambient Version).flac
2 - Pantha Du Prince - You What_ Euphoria! (Ambient Version).flac
3 - Pantha Du Prince - Frau Im Mond_ Sterne Laufen (Ambient Version).flac
4 - Pantha Du Prince - In An Open Space (Ambient Version Instrumental).flac
5 - Pantha Du Prince - Dream Yourself Awake (Ambient Version Instrumental).flac
6 - Pantha Du Prince - Lichterschmaus (Ambient Version).flac
7 - Pantha Du Prince - Lions Love (Ambient Version).flac
8 - Pantha Du Prince - Islands In The Sky (Ambient Version Instrumental).flac
9 - Pantha Du Prince - Wallflowers for Pale Saints (Ambient Version).flac
10 - Pantha Du Prince - The Winter Hymn (Ambient Version Instrumental).flac
11 - Pantha Du Prince - In An Open Space (Ambient Version).flac
12 - Pantha Du Prince - Dream Yourself Awake (Ambient Version).flac
13 - Pantha Du Prince - Islands In The Sky (Ambient Version).flac
14 - Pantha Du Prince - Lions Love (John Roberts Remix).flac
15 - Pantha Du Prince - Islands In the Sky (Recondite Remix).flac
16 - Pantha Du Prince - Dream Yourself Awake (Solomun Remix).flac
17 - Pantha Du Prince - Islands In The Sky (Efdemin Dub Remix).flac
18 - Pantha Du Prince - Dream Yourself Awake (Shinedoe Remix).flac
19 - Pantha Du Prince - Frau Im Mond_ Sterne Laufen (Alva Noto Remix).flac
20 - Pantha Du Prince - Dream Yourself Awake (Solomun Dream Version Remix).flac
21 - Pantha Du Prince - Frau Im Mond_ Sterne Laufen (Ambarchi & Sprenger Remix).flac

对它们进行排序,(我希望它们如上所述):

DROPPED FILES SUBDIR:1 - Pantha Du Prince - The Winter Hymn (Ambient Version).flac
DROPPED FILES SUBDIR:10 - Pantha Du Prince - The Winter Hymn (Ambient Version Instrumental).flac
DROPPED FILES SUBDIR:11 - Pantha Du Prince - In An Open Space (Ambient Version).flac
DROPPED FILES SUBDIR:12 - Pantha Du Prince - Dream Yourself Awake (Ambient Version).flac
DROPPED FILES SUBDIR:13 - Pantha Du Prince - Islands In The Sky (Ambient Version).flac
DROPPED FILES SUBDIR:14 - Pantha Du Prince - Lions Love (John Roberts Remix).flac
DROPPED FILES SUBDIR:15 - Pantha Du Prince - Islands In the Sky (Recondite Remix).flac
DROPPED FILES SUBDIR:16 - Pantha Du Prince - Dream Yourself Awake (Solomun Remix).flac
DROPPED FILES SUBDIR:17 - Pantha Du Prince - Islands In The Sky (Efdemin Dub Remix).flac
DROPPED FILES SUBDIR:18 - Pantha Du Prince - Dream Yourself Awake (Shinedoe Remix).flac
DROPPED FILES SUBDIR:19 - Pantha Du Prince - Frau Im Mond_ Sterne Laufen (Alva Noto Remix).flac
DROPPED FILES SUBDIR:2 - Pantha Du Prince - You What_ Euphoria! (Ambient Version).flac
DROPPED FILES SUBDIR:20 - Pantha Du Prince - Dream Yourself Awake (Solomun Dream Version Remix).flac
DROPPED FILES SUBDIR:21 - Pantha Du Prince - Frau Im Mond_ Sterne Laufen (Ambarchi & Sprenger Remix).flac
DROPPED FILES SUBDIR:3 - Pantha Du Prince - Frau Im Mond_ Sterne Laufen (Ambient Version).flac
DROPPED FILES SUBDIR:4 - Pantha Du Prince - In An Open Space (Ambient Version Instrumental).flac
DROPPED FILES SUBDIR:5 - Pantha Du Prince - Dream Yourself Awake (Ambient Version Instrumental).flac
DROPPED FILES SUBDIR:6 - Pantha Du Prince - Lichterschmaus (Ambient Version).flac
DROPPED FILES SUBDIR:7 - Pantha Du Prince - Lions Love (Ambient Version).flac
DROPPED FILES SUBDIR:8 - Pantha Du Prince - Islands In The Sky (Ambient Version Instrumental).flac
DROPPED FILES SUBDIR:9 - Pantha Du Prince - Wallflowers for Pale Saints (Ambient Version).flac

编辑2: 修复排序(示例代码):/ODN切换DIR完成了这一操作。

@echo off
cd /d %1
echo Working Directory: %~1
for /f "tokens=*" %%A in ('dir /B /ODN *.flac') do echo %%A
@pause

0 个答案:

没有答案