[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理怎样扫描计数当前目录内的子文件夹和文件数量?

研究好久了不是计数数量错误,就是无法运行,有没有大佬带带我
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set/p d=请输入精简Roms的盘符并回车【例如C:\Roms,只需要输入C】:
  4. set /a n=0,a=0,b=0,c=0
  5. for /f "delims=" %%i in ('dir "%d%:\Roms\" /B /A:D') do set /a n+=1
  6. for /r  "%d%:\Roms\" %%a in (*.*) do set /a c+=1
  7. echo 共【%n%】个文件夹和【%c%】个文件
  8. pause
  9. for /f "delims=" %%i in ('dir "%d%:\Roms\" /B /A:D') do (
  10. for /f "delims=" %%a in ('dir /b "%d%:\Roms\%%i\"') do (
  11. xcopy "Roms\%%i\media\%%~na" "%d%:\Roms\%%i\media\%%~na\" /E /Y >nul 2>nul
  12. if errorlevel 1 (set a+=1) else set /a b+=1
  13. echo 【%%i】%%~na【预览素材已复制】
  14. ))
  15. echo 已复制成功 !b! 个,失败!a!个!
  16. echo 按任意键退出
  17. pause>nul
  18. Exit
复制代码

TOP

回复 2# chen007


   dir /s 显示指定目录和所有子目录中的文件。
bat小白,请多指教!谢谢!

TOP

回复 1# chen007


把你的第5行、第6行改成这样试试:
  1. for /f %%i in ('dir /b /ad "%d%:\Roms\"') do set /a n+=1
  2. for /f %%i in ('dir /b /a-d "%d%:\Roms\"') do set /a c+=1
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4# Batcher


    谢谢下午回家试一下

TOP

回复 4# Batcher


    @echo off
setlocal enabledelayedexpansion
set/p d=请输入精简Roms的盘符并回车【例如C:\Roms,只需要输入C】:
set /a n=0,a=0,b=0,c=0
for /f %%i in ('dir /b /ad "%d%:\Roms\"') do set /a n+=1
for /f "delims=" %%i in ('dir "%d%:\Roms\" /B /A') do (
for /f %%i in ('dir /b /ad "%d%:\Roms\%%i\"') do (
set /a c+=1
))
for /f "delims=" %%i in ('dir "%d%:\Roms\" /B /A:D') do (
for /f %%i in ('dir /b /a-d "%d%:\Roms\%%i\"') do (
set /a c+=1
))
echo 共【%n%】个文件夹和【%c%】个文件
pause
for /f "delims=" %%i in ('dir "%d%:\Roms\" /B /A:D') do (
for /f "delims=" %%a in ('dir /b "%d%:\Roms\%%i\"') do (
        xcopy "Roms\%%i\media\%%~na" "%d%:\Roms\%%i\media\%%~na\" /E /Y >nul 2>nul
if errorlevel 1 (set a+=1) else set /a b+=1
echo 【%%i】%%~na【预览素材已复制】
))
echo 已复制成功 !b! 个,失败!a!个!
echo 按任意键退出
pause>nul
Exit
改成这样正常了.....

TOP

返回列表