Board logo

标题: [文本处理] 如何让批处理把磁盘剩余空间写入文本文件? [打印本页]

作者: lp69592819    时间: 2011-5-26 09:42     标题: 如何让批处理把磁盘剩余空间写入文本文件?

本帖最后由 lp69592819 于 2011-6-4 12:49 编辑

我的服务器磁盘空间不知道什么时候就满了~有没有让批处理扫扫描全部硬盘空间并将每个磁盘剩余的空间写入一个文件~查看磁盘剩余空间只要看下这个文件就可以了~
作者: batman    时间: 2011-5-26 09:46

************************************************************

好吧,我承认你是错的。。。

请阅读论坛发贴规则:

        http://www.bathome.net/thread-963-1-1.html

提示:

        请大家在楼主修改标题并得到管理层认可之前不要给出任何有意义的回复。

        否则一律视为无视论坛纪律扣2分!(管理层和技术组扣4分)

        论坛是大家的,也要靠大家来维护。。。

************************************************************
作者: lp69592819    时间: 2011-5-26 10:07

2# batman

我找了相关的问题,但是不是我想要的~不好意思版主
作者: applba    时间: 2011-5-26 10:52

楼主,请修改你的标题,使之更明确。
标题不怕长,就是要具体点。
作者: Hello123World    时间: 2011-5-26 14:58

  1. @echo off
  2. echo freespace就是剩余空间,单位是byte(字节)。
  3. echo 换算:1g=1024mb,1mb=1024kb,1kb=1024byte
  4. wmic logicaldisk where drivetype=3 get deviceid,freespace >1.txt
  5. start 1.txt
  6. ping 127.1>nul &del 1.txt
  7. pause>nul
复制代码

作者: lp69592819    时间: 2011-5-26 15:59

5# Hello123World

非常感谢~基本满足我的要求~由于系统都是以G为单位的~上面的命令换算比较麻烦~能不能直接是G为单位呢~
作者: lp69592819    时间: 2011-5-26 16:06

5# Hello123World
能不能让他输入文本文件后不删除啊~打开文件后能看到磁盘空间信息
作者: CrLf    时间: 2011-5-26 16:27

7# lp69592819


去掉“&del 1.txt”
作者: batman    时间: 2011-5-26 16:50

感叹现在是伸手党时代。。。
作者: lp69592819    时间: 2011-5-26 16:57

8# zm900612


去掉也不成~文本里是空的~
作者: Batcher    时间: 2011-5-26 23:34

10# lp69592819


把@echo off删掉,看看是哪一行出错了。
作者: lp69592819    时间: 2011-5-27 09:37

11# Batcher
奇怪了~按照上面的代码不修改可以输入到文本,可是我把每个代码单个运行却不可以,这是为什么

@echo off
echo freespace就是剩余空间,单位是byte(字节)。
echo 换算:1g=1024mb,1mb=1024kb,1kb=1024byte
wmic logicaldisk where drivetype=3 get deviceid,freespace >1.txt
start 1.txt
ping 127.1>nul后面删掉了~
pause>nul

运行后文本中是空白的,没有内容
作者: Batcher    时间: 2011-5-27 10:24

12# lp69592819


因为你“单个运行”的时候不小心把某个地方搞错了,“单个运行”这一句吧:
  1. wmic logicaldisk where drivetype=3 get deviceid,freespace >1.txt
复制代码

作者: lp69592819    时间: 2011-5-27 10:49

13# Batcher


命令是可行但是他输出的单位是字节~不得看,磁盘空间都是好多G的~能把单位改成G为单位
作者: lp69592819    时间: 2011-5-27 11:15

13# Batcher


单独运行没有问题~但是放到批处理文件中就不成~输出的空文本~怎么回事啊
作者: CrLf    时间: 2011-5-27 14:09

12# lp69592819


不明白这错哪了,我复制运行后,结果很正常呀
作者: Batcher    时间: 2011-5-27 14:16

15# lp69592819


批处理文件命名为test.bat,而且确保它是ANSI编码。
作者: lp69592819    时间: 2011-5-27 17:05

求助高人啊
作者: bingxing8000    时间: 2011-5-30 23:06

觉得想这样的问题用AU3很好解决
作者: jixun66    时间: 2011-5-31 00:51

呃,我的代码对于大容量驱动器兼容较差..
  1. @echo off
  2. set /p d=请输入要查看剩余空间的盘符:
  3. set d=%d:~0,1%
  4. if not exist %d%:\ echo 盘符不存在!&pause&exit /b 1
  5. cd /d %d%:\
  6. for /f "tokens=3 delims= " %%i in ('dir') do set freespace=%%i
  7. set byte=%freespace:,=%
  8. set /a kb=%byte%/1024
  9. set /a mb=%kb%/1024
  10. set /a gb=%mb%/1024
  11. set /a tb=%gb%/1024
  12. echo %d% 盘的剩余空间为:
  13. echo %byte%字节,%kb%KB,%mb%MB,%gb%GB,%tb%TB。
  14. pause
复制代码

作者: applba    时间: 2011-5-31 20:31

16# zm900612


估计是键盘敲错了,,
作者: lp69592819    时间: 2011-6-4 12:49

20# jixun66
你可能理解错了~我的意思是扫描全部硬盘空间并将每个磁盘剩余的空间写入一个文件
作者: Batcher    时间: 2011-6-4 21:21

22# lp69592819
  1. C:\UnxUtils\df.exe -h >C:\test.log
复制代码

作者: lp69592819    时间: 2011-6-8 14:23

23# Batcher


不明白您写的这个代码~貌似我没有这个东西




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2