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

[其他] 【已解决】检测bat显示的数字位数,并修改。谢谢

本帖最后由 yyz219 于 2025-1-22 16:46 编辑

::【显示 6个 字符(包括“.”),不够补 0】
完美解决了:
::============================================================================================
::【获取(UserData文件夹): UserData文件夹(字节)】
for /f "tokens=3* delims= " %%a in ('dir/s/a-d/-c "D:\1绿色软件\网络\浏览器\便携版百分3.2.4.23\User Data\"^|C:\Windows\System32\findstr /c:"个文件"') do set UserData文件夹=%%~a

::【运算 UserData文件夹(大小变 MB):】
for /f "delims=" %%a in ('D:\1绿色软件\关闭显示器\Pecmd.exe "team calc c=(%UserData文件夹%)/1024/1024##3F^|writ -,$,%%c%%"') do ( set "UserData文件夹(MB)=%%a")
::============================================================================================
::【修改UserData文件夹为————5个数字(不够补0)】---->【即:显示 6个 字符(包括“.”),不够补 0】
setlocal enabledelayedexpansion
set "str=%UserData文件夹(MB)%"
for /f "tokens=1,2" %%i in ("%str%") do (
set "s=%%i00000"
set "UserData文件夹(5个数字)=!s:~0,6!%%j")
::============================================================================================
bat-2颜色.exe #Bn                          ◇ UserData:%UserData文件夹(5个数字)%(3.82 MB)
::============================================================================================

原来的问题:
如果:
echo  3.82 MB 就数字末补 0
变成:
echo  3.820 MB
==================
如果:
echo  12.56 MB 就保持不变
==================
3.82 MB 和  12.56 MB 都是变化的
(需求就是:保持显示位数都是4个数字,不够就补0)

谢谢
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
我是小白,希望老师多多帮助

回复 4# aloha20200628


    我的文件没有这么大的
我是小白,希望老师多多帮助

TOP

本帖最后由 aloha20200628 于 2025-1-22 12:34 编辑

回复 1# yyz219

遭遇 12345.67 MB 或 123.45 MB 该如何保留4位数字?

TOP

回复 2# WHY


    我慢慢琢磨,谢谢
我是小白,希望老师多多帮助

TOP

举个例子:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "str=3.82 MB"
  4. for /f "tokens=1,2" %%i in ("%str%") do (
  5.     set "s=%%i00000"
  6.     echo;!s:~0,5! %%j
  7. )
  8. pause
复制代码
1

评分人数

TOP

返回列表