[dos命令大全] 根据文件里的字符,自动创建目录

dos命令大全
请教:如何根据文件里的字符,自动创建目录。
缘由:自定义路径及文件名,用ghost来自动备份系统。
1),有设置文件set.ini
里面只有这样一行内容:
1:5:\\backup\\sys.gho  [这行字符可自行定义]

2),有gdisk生成的硬盘分区文件 hd1.txt
里面内容如下(例):
Disk  Partitions  Cylinders  Heads  Sectors  Mbytes  Model
dos命令大全
  1        7        14593     255      63  114473.5  ST3120026AS

Partition  Status   Type     Volume Label   Mbytes   System   Usage
C:  1        A    PRIMARY                  7538.3  NTFS/HPFS   7%
     2        H    PRIMARY                  7467.7  NTFS/HPFS   7%
     3             EXTENDED                99464.9             87%
D:  4             LOGICAL                 10001.4  NTFS/HPFS   9%
E:  5             LOGICAL                 15006.0  NTFS/HPFS  13%
F:  6             LOGICAL    APPZ         30004.2  FAT32      26%
G:  7             LOGICAL                 44453.3  NTFS/HPFS  39%

要求:
根据设置文件及hd1.txt,知道1:5就是Windows下的F盘,如果F盘不存在backup目录的话,自动建立F:\\backup这个目录。 Win2k/winXP下用

不知道我的问题讲清楚没有。谢谢各位!
==============================
上面的问题,变通后,已基本自行解决。
你这不是自动读取set.ini文件实现的。
很显然,我改成1:3:\\sysback\\winxp.gho时,你还得改批处理。
dos命令大全
=====================
我原来set.ini里是设定成1:5:\\backup\\sys.gho形式,这样可以直接创建批处理,
但是遇到非根目录时,需要手动先建目录问题。不知如何解决。

没办法,我把一行分成几行,分别设定分区号,目录,文件名,把它们赋给3个变量。就成这样了下面这样。(尽管ghost -dd运行时间比较长,考虑到使用方便些,改成找GHSTSTAT.TXT里的了)
rem 完整路径:1:5:\\sysback\\sys.gho

rem 保存分区(如1:4)
set fenqu=1:5

rem 保存目录(如\\sysback)
set mulu=\\sys

rem 保存文件名(如sys.gho)
set wenjian=sys.gho
dos命令大全

找出分区号对应的盘符,然后建目录。并行成批处理。

这是我刚才测试用的:
gdisk 1 > a:\\DISK.TXT
if  exist a:\\1.TXT  del a:\\1.TXT
find ":  6" a:\\DISK.TXT  >  a:\\1.TXT
GetInfo.com /g:2,a:\\1.TXT
%thestring%
if not exist 0451lym  md 0451lym


成功,但是如果挂起NTFS驱动就麻烦了.在DISK.TXT中所有硬盘盘符都不会显示的!
所以要结合omnifs使用!

总共用到4个小软件:
1、gdisk:不用说了都知道!
2、find:读取文本行!
dos命令大全
3、GetInfo.com:指定读取文本行,并且设为变量。因为find写入文件很讨厌,多出一行来!(---------------- DISK.TXT)
4、omnifs:对NTFS等分区直接写入操作!


我去DOS在试试去!

@echo off
setlocal ENABLEDELAYEDEXPANSION
    for /f "delims=: tokens=1-3" %%i in (set.ini) do (
        set disk=%%i
        set partition=%%j
        set "the_path=%%k"
    )
    for /f "tokens=1,2" %%i in (hd1.txt) do set "%%j=%%i !%%j!"
    for /f "tokens=%disk%" %%i in ("!%partition%!") do set drive=%%i
    echo 磁盘:        %disk%
dos命令大全
    echo 分区:        %partition%
    echo 路径:        %the_path%
    echo 盘符:        %drive%
    md %drive%%the_path% || echo 建立目录失败!
    rd %drive%%the_path% || echo 建立目录失败!
pause
goto :eof
dos命令大全
1.由于不知道多硬盘存在的情况下fd1.txt的格式,所以按照想象对其做出的相关处理。
2.没有2k系统,所以并未测试2k下运行的情况。
“dos命令大全”www.daohei.com“dos之家”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值