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

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

前言:大家分区的时侯都会输入数字,比如你想得到一个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
复制代码
无法上传附件了 ~~~~~
1

评分人数

o(∩_∩)o...~~~
空间:http://hi.baidu.com/fair_jm
喜欢批处理的没事的话去逛逛哦~~

一个不错的整数分区公式,用得上,如果做成GUI界面的就更好了。

TOP

原帖由 基拉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*"

TOP

不用那么复制吧。。。

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

见笑!

TOP

返回列表