批处理中 如何传递带空格的参数

[复制链接]
查看11 | 回复3 | 2019-8-19 04:59:24 | 显示全部楼层 |阅读模式
看似简单,其实很繁琐:@echo off&setlocal enabledelayedexpansionset /a m=0,n=0for /r %%i in (.) do (
set /a n+=1
pushd %%i
for /r %%a in (*) do (
set /a m+=1)
echo %%~fi--------------------文件个数:!m!&set m=0)echo.&set /a n-=1&echo 文件夹个数: !n!pause>nul 统计文件夹个数,同时统计文件夹中的文件个数。 速度不错。
回复

使用道具 举报

千问 | 2019-8-19 04:59:24 | 显示全部楼层
用的着有那么麻烦吗?@echo offset /a n=0for /d %%i in (*) do set /a n+=1echo 当前目录下有%n%个文件夹。pause但是用for /d 统计不完全,用dir就不一样了:@echo offset /a n=0for /f "delims=" %%b in ('dir /ad/s/b') do set /a n+=1echo 当前目录下有%n%个文件夹。pause -------------------------------------------补充:早说啊~@echo off&setlocal Enabledelayedexpansionset /a n=0for /f "delims=" %%b in ('dir /ad/s/b') do (for /f "delims=" %%i in ('dir /a-d/b "%%b"') do set /a n+=1echo %%b目录下有!n!个文件。set /a n=0)pause
回复

使用道具 举报

千问 | 2019-8-19 04:59:24 | 显示全部楼层
带空格的路径要用引号括起来。。。
回复

使用道具 举报

千问 | 2019-8-19 04:59:24 | 显示全部楼层
改两个地方:call 123.bat,"%%i" cd "%~1"正解不?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行