在windows中怎样用批处理命令新建一个大小可变的文件?例如手动输入要建立1MB或者5G的TXT文件

2025-03-18 21:05:14
推荐回答(3个)
回答1:

因为你这个生成的大小范围可能比较广,代码肯定很长,我只给你个思路吧:

首先用echo.>%~dp02Bit.txt命令可以生成1个“标准2字节”txt文件。如果你的批处理还需要考虑生成1个字节的文件,用echo命令是无法实现的,因为echo属于换行输出,回车就占2个字节。如果需要考虑生成1字节的标准文件,你需要自己新建个txt文件,写入1个数字或字母。

然后用【copy /b %~dp02Bit.txt %~dp02Bit.txt %~dp04Bit.txt】命令可以生成一个“标准4字节”文件,同理,可生成“8字节”、“16字节”、“32字节”……“1KB”、“1MB”、“1GB”的标准文件。

这些标准文件彼此相差2倍,那是因为进制最小的只能是2进制了,有了这些标准文件,就能生成任意大小的文件了。如果用户输入10M,把10转化为2进制就是1010,也就是用1个8M的标准文件+1个2M的标准文件就能生成1个10M的文件,同理11M就再加1个1M的标准文件即可。

然后是精确度的问题,如果你的批处理允许用户输入2049KB这样的数据,而不会近似到2M,那么,你的麻烦大了。因为批处理里面的数值型变量相当于C或Java里的int型,取值范围是-2147483648到2147483647,大约2G转化成字节就超了!你需要用到“大数加法”、“大数减法”运算

最后1个问题,新建1个好几个G的文件当然也没什么问题,比如视频软件,在下载时就会先建1个大小好几个G的虚文件,但你这题说的是TXT文件吧?我必须告诉你记事本打开个超过几十M的文件就吃力了哈。

回答2:

fsutil file createnew test.txt 1048576

1k=1024 1m=1048576 1g=1073741824

回答3:

 参考方法如下:
  1、在桌面鼠标依次右键——>新建——>文本文档;
  2、在记事本中输入命令:

  @echo off echo 正在清除系统垃圾文件,请稍等...... del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._mp del /f /s /q %systemdrive%\*.log del /f /s /q %systemdrive%\*.gid del /f /s /q %systemdrive%\*.chk del /f /s /q %systemdrive%\*.old del /f /s /q %systemdrive%\recycled\*.* del /f /s /q %windir%\*.bak del /f /s /q %windir%\prefetch\*.* rd /s /q %windir%\temp & md %windir%\temp del /f /q %userprofile%\cookies\*.* del /f /q %userprofile%\recent\*.* del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*" del /f /s /q "%userprofile%\Local Settings\Temp\*.*" del /f /s /q "%userprofile%\recent\*.*" echo 清除系统垃圾完成! echo. & pause

  3、依次点击文件——>另存为;

  4、将文件扩展名改为.bat,然后点击确定保存即可,这样一个简单批处理文件创建完成。