标题: 输入变量101,把101前面的数字新建文件
[打印本页]
作者: lovehanbing520
时间: 2010-5-5 12:32
标题: 输入变量101,把101前面的数字新建文件
我有如下SET.INI文件,1到101之间是一个TAB的距离
1 101
2 102
3 103
4 105
5 106
6 107
7 108
8 109
9 111
10 113
我想要的就是set /p SS=请输入:101
if "!SS!"=="101" 就把”1“新建为0001.frt
前成是个例子
1。只要输入的是第二列的数字就以第一列数字新建成为四位的0000.frt到e:\user\
2。如果我输入:101-113 就新建0001frt到0010.frt 10个文件到E:\user\下
[
Last edited by lovehanbing520 on 2010-5-5 at 13:22 ]
作者: lovehanbing520
时间: 2010-5-5 15:34
@echo off
color a
set /p SS=请输入:
for /f "tokens=1,2 delims= " %%a in (d:\ssi\set.ini) do if "%ss%"=="%%b" set a=%%a&call
:dellfill
pause
:dellfill
@echo off
call :countdigit %a%
if %c% equ 4 copy nul >e:\user\000%a%.frt
if %c% equ 3 copy nul >e:\user\00%a%.frt
if %c% equ 2 copy nul >e:\user\0%a%.frt
if %c% equ 1 copy nul >e:\user\%a%.frt
goto :eof
:countdigit
@echo off
set b=%1
for /l %%c in (0,1,4) do if not "!b:~%%c!"=="" set c=%%c
goto :eof
这样只能一次建一个~~~
如果我输入:101-113 就新建0001frt到0010.frt 10个文件到E:\user\下
这样如何写呢`~
作者: Hanyeguxing
时间: 2010-5-6 08:02
要求:set.ini文本第二列必须首字符不为0
@echo off
set /p SS=请输入:
for /f "tokens=1,2 delims=-" %%a in ("%SS%") do for /f "usebackq tokens=1,2" %%c in ("d:\ssi\set.ini") do if "%%b"=="" (if %%a==%%d call:n %%c) else if %%d geq %%a if %%d leq %%b call:n %%c
pause&exit
:n
set n=000%1
cd.>"e:\user\%n:~-4%.frt"
[
Last edited by Hanyeguxing on 2010-5-6 at 08:04 ]
作者: lovehanbing520
时间: 2010-5-6 10:52
嗯,我第二列首字符没有为0的~~调试过了,,可用,,谢谢`