找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21599|回复: 3

[数值计算] 分区辅助工具批处理版:得到整数G分区

[复制链接]
发表于 2008-8-20 15:48:20 | 显示全部楼层 |阅读模式
前言:大家分区的时侯都会输入数字,比如你想得到一个2G的分区你也许会输入2000M或者2048M其实你输入的这些数字所分出来的区在Windows下面都不会被认成整数的2G,而是1.9?G,想要得到Windowsecho.下的整数G分区,你必须知道一个公式,通过这个公式算出的值就是被Windows认成整数G的值。
ps:无法完美解决字母和非法字符问题 只能对纯字母有效 不想写下去了 大家帮一下
还有很多缺点 要改进 希望大家给出意见和改进方法
  1. @echo off
  2. :begin
  3. setlocal EnableDelayedExpansion
  4. echo:历史纪录:
  5. echo 想要大小%size%G
  6. set rsize
  7. echo 说明:::::
  8. echo.-------------------------------------------------------------------------------
  9. echo.
  10. echo.大家分区的时侯都会输入数字,比如你想得到一个2G的分区你也许会输入2000M或者2048M其实你输echo.入的这些数字所分出来的区在Windows下面都不会被认成整数的2G,而是1.9?G,想要得到Windowsecho.下的整数G分区,你必须知道一个公式,通过这个公式算出的值就是被Windows认成整数G的值。
  11. echo.--------------------------------------------------------------------------------
  12. set /p size=输入你想要分区整大小数(G):
  13. set /a rsize=%size%-1 1>nul 2>nul
  14. set /a rsize=!rsize!*4+1024*%size% 1>nul 2>nul
  15. if !rsize! lss 0 (echo 你输入的不是数字或范围有误请重新输入&set /p g=按确定键重输&cls&goto begin)
  16. echo 在DM中输入!rsize!M 实际显示 %size%G
  17. set /p=按确定继续~ ~
  18. cls
  19. goto begin
复制代码
无法上传附件了 ~~~~~

评分

参与人数 1PB +10 收起 理由
Batcher + 10 感谢分享

查看全部评分

发表于 2008-9-8 12:17:32 | 显示全部楼层
一个不错的整数分区公式,用得上,如果做成GUI界面的就更好了。
发表于 2009-2-15 09:05:44 | 显示全部楼层
原帖由 基拉freedom 于 2008-8-20 15:48 发表
前言:大家分区的时侯都会输入数字,比如你想得到一个2G的分区你也许会输入2000M或者2048M其实你输入的这些数字所分出来的区在Windows下面都不会被认成整数的2G,而是1.9?G,想要得到Windowsecho.下的整数G分区,你必 ...

我也發一個吧:
@mode con: cols=33 lines=5 >nul 2>nul
@echo off
@color 001f
@cls
title ★分區大小計算★ (Gb轉Mb)
:main
@color 001f
cls
@echo.
@echo  請輸入分區大小 (以^"Gb^"為單位) :
@echo ================================
@set /p GB=     Gb^=      
@if %GB% gtr 10240 goto errlevel
@if %GB% lss 1 goto errlevel
@set /a MB=(%GB%-1)*4+1024*%GB%
cls
@echo.
@echo     轉換為 Mb單位後,大小該為:
@echo --------------------------------
set "b=            %MB% Mb"
call:NUB 001c "%b%" 0
call:NUB 0011 "%b%" 0
del /q "%Tmp%\%b%"
pause>nul
goto main
:errlevel
cls
@color 001c
@echo.
@echo.
@echo  程序只支授 1-10240/Gb 以內運算
pause>nul
goto main
:NUB
Pushd %Tmp%
echo.>%2
>%2,set/p=<nul
findstr /a:%1 .* "%~2*"
发表于 2009-2-18 23:53:05 | 显示全部楼层

不用那么复制吧。。。

  1. @echo off
  2. set /p g=输入需要分区整数[G]:
  3. set /a m=(g-1)*4+1024*g
  4. echo 分区时应输入 %m% M
  5. pause
复制代码

见笑!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 04:54 , Processed in 0.019274 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表