标题: [文件操作] 批处理显示当前文件夹下的文件夹里的jpg和视频大小 用mb表示 [打印本页]
作者: swanseabrian 时间: 2021-10-5 18:52 标题: 批处理显示当前文件夹下的文件夹里的jpg和视频大小 用mb表示
- @echo off
- cd /d "%~dp0"
- (for /f "delims=" %%i in ('dir /ad /b') do (
- pushd "%%i\"
- for /f "tokens=1,2*" %%a in ('dir /a /-c *.jpg' ) do (
- if defined flag (
- set "flag="
- set /a size=%%c/1048576 2>nul
-
- echo,文件夹:%%i 大小:%%size%%MB
- ) else if "%%a" == "所列文件总数:" set flag=1
- )
- popd
- ))>"%~dp0结果.txt"
- pause
复制代码
出不来结果
用dir /ad /b /s就可以输出,但是我不想要子文件夹的,就当前一层目录就可以,哪里错了,谢谢
作者: went 时间: 2021-10-5 19:23
不知道 所列文件总数: 这个是怎么显示的
我电脑上显示的是 " 184 个文件 627059834 字节"- @echo off
- cd /d "%~dp0"
- (
- for /f "delims=" %%i in ('dir /ad /b') do (
- pushd "%%i\"
- for /f "tokens=1-3" %%a in ('dir /a /-c *.jpg 2^>nul' ) do (
- if "%%b" == "个文件" (
- set /a "size=%%c/1048576" 2>nul
- call echo,文件夹:%%i 大小:%%size%%MB
- )
- )
- popd
- )
- ) & REM >"%~dp0结果.txt"
- pause
复制代码
作者: newswan 时间: 2021-10-6 10:34
本帖最后由 newswan 于 2021-10-6 10:55 编辑
是这个问题
%dest% 不是当前批处理文件当前路径,dir 不带/s
路径就会丢失- @echo off
-
- cd /d c:\
- echo '%%__CD__%%' %__CD__%
-
- set "dest=D:\share\tech\New folder\New folder (1)"
-
- echo,
- echo "dir /s /b"
- for /f "usebackq tokens=* delims=" %%a in (`dir /b /s "%dest%\*.txt"`) do (
- echo "%%~fa"
- )
- echo,
- echo "dir /b"
- for /f "usebackq tokens=* delims=" %%a in (`dir /b "%dest%\*.txt"`) do (
- echo "%%~fa"
- )
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |