以下是我的代码。它在一定程度上起作用。
@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