问题1:加个双引号试试
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('dir /b /ad') do (
set "n=0"
for /f "tokens=*" %%b in ('dir /s /b /a-d "%%a" 2^>nul') do (
set /a File_in_%%a+=1
set /a n+=%%~zb
)
echo 文件夹"%%a"中共有文件大小为!n!字节
for /f "tokens=*" %%b in ('dir /s /b /ad "%%a" 2^>nul') do (
set /a Folder_in_%%a+=1
)
)
echo.
echo 每个当前目录的下一级子目录包涵的文件数
set File_in_
echo.
echo 每个当前目录的下一级子目录包涵的文件夹数
set Folder_in_
echo.
pause
如果问题依旧,请给出包含'iiset'的文件夹的全名。
问题2:上面的代码修改了变量初始化的位置,再试试吧。