『楼 主』:
[求助]如何声明并替换多个变量?
EXCEL原件内容:
6:44 节目一 6:50 节目二 8:00 节目三 12:00 节目四 15:25 节目五 16:29 节目六
6:30 节目一 7:00 节目二 8:02 节目三 8:35 节目四 9:00 节目五 9:44 节目六
6:05 节目一 6:30 节目二 7:00 节目三 7:30 节目四 8:01 节目五 8:17 节目六
6:56 节目一 7:00 节目二 7:10 节目三 7:25 节目四 7:55 节目五 8:35 节目六
6:06 节目一 6:37 节目二 7:00 节目三 7:34 节目四 8:05 节目五 9:09 节目六
6:56 节目一 7:00 节目二 7:18 节目三 7:58 节目四 11:40 节目五 12:41 节目六
6:00 节目一 6:20 节目二 6:54 节目三 7:53 节目四 11:17 节目五 11:57 节目六
7:30 节目一 12:55 节目二 19:35 节目三 23:35 节目四
7:10 节目一 7:30 节目二 12:30 节目三 12:55 节目四 13:05 节目五 15:55 节目六
6:14 节目一 6:30 节目二 8:20 节目三 11:40 节目四 12:00 节目五 15:38 节目六
7:00 节目一 11:11 节目二 12:00 节目三 12:30 节目四 16:33 节目五 17:30 节目六
6:30 节目一 7:00 节目二 7:20 节目三 8:00 节目四 12:30 节目五 12:35 节目六
6:15 节目一 7:00 节目二 7:30 节目三 11:50 节目四 12:15 节目五 12:35 节目六
6:45 节目一 7:05 节目二 7:35 节目三 8:25 节目四 11:30 节目五 17:45 节目六
6:00 节目一 6:32 节目二 6:45 节目三 7:00 节目四 7:22 节目五 7:32 节目六
6:00 节目一 6:30 节目二 7:30 节目三 7:51 节目四 8:00 节目五 11:50 节目六
7:00 节目一 7:50 节目二 9:00 节目三 9:15 节目四 10:15 节目五 10:55 节目六
7:30 节目一 7:50 节目二 12:00 节目三 12:30 节目四 13:10 节目五 18:00 节目六 昨天我提的如何计算时间差,我自己以为可以解决
通过EXCEL函数:“(HOUR(I2-F2)*60+MINUTE(I2-F2))”
结果今天发现,BAT中声明的变量有数量限制的
而我的节目表中一行中数据最少也应该有150+个
这要如何声明变量呢?
目前我可能只能做到把EXCEL分成几部分,一次执行N列(N<31),再复制到EXCEL中,等于是一个EXCEL表我要分最少五次来执行BAT
我的低级BAT内容如下:
if exist letter_End.txt del letter_End.txt /f/q
setlocal EnableDelayedExpansion
for /f "tokens=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31 delims= " %%a in (letter.txt) do (
echo %%a %%c %%d =^(HOUR^(F%%a-C%%a^)*60+MINUTE^(F%%a-C%%a^)^) %%e %%f =^(HOUR^(I%%a-F%%a^)*60+MINUTE^(I%%a-F%%a^)^) %%g %%h =^(HOUR^(L%%a-I%%a^)*60+MINUTE^(L%%a-I%%a^)^) %%i %%j =^(HOUR^(O%%a-L%%a^)*60+MINUTE^(O%%a-L%%a^)^) %%k %%l =^(HOUR^(R%%a-O%%a^)*60+MINUTE^(R%%a-O%%a^)^) %%m %%n =^(HOUR^(U%%a-R%%a^)*60+MINUTE^(U%%a-R%%a^)^) %%o %%p =^(HOUR^(X%%a-U%%a^)*60+MINUTE^(X%%a-U%%a^)^) %%q %%r =^(HOUR^(AA%%a-X%%a^)*60+MINUTE^(AA%%a-X%%a^)^) %%s %%t =^(HOUR^(AD%%a-AA%%a^)*60+MINUTE^(AD%%a-AA%%a^)^) %%u %%v =^(HOUR^(AG%%a-AD%%a^)*60+MINUTE^(AG%%a-AD%%a^)^) %%w %%x =^(HOUR^(AJ%%a-AG%%a^)*60+MINUTE^(AJ%%a-AG%%a^)^) %%y %%z =^(HOUR^(AM%%a-AJ%%a^)*60+MINUTE^(AM%%a-AJ%%a^)^)>>letter_End.txt
) 离我的目标差了好远,我希望达到如下效果:
6:44 节目一 节目二减节目一的时间差 6:50 节目二 节目三减节目二的时间差 8:00 节目三 节目四减节目三的时间差 12:00 节目四 节目五减节目四的时间差 15:25 节目五 节目六减节目五的时间差 16:29 节目六
6:30 节目一 节目二减节目一的时间差 7:00 节目二 节目三减节目二的时间差 8:02 节目三 节目四减节目三的时间差 8:35 节目四 节目五减节目四的时间差 9:00 节目五 节目六减节目五的时间差 9:44 节目六
6:05 节目一 节目二减节目一的时间差 6:30 节目二 节目三减节目二的时间差 7:00 节目三 节目四减节目三的时间差 7:30 节目四 节目五减节目四的时间差 8:01 节目五 节目六减节目五的时间差 8:17 节目六
6:56 节目一 节目二减节目一的时间差 7:00 节目二 节目三减节目二的时间差 7:10 节目三 节目四减节目三的时间差 7:25 节目四 节目五减节目四的时间差 7:55 节目五 节目六减节目五的时间差 8:35 节目六
6:06 节目一 节目二减节目一的时间差 6:37 节目二 节目三减节目二的时间差 7:00 节目三 节目四减节目三的时间差 7:34 节目四 节目五减节目四的时间差 8:05 节目五 节目六减节目五的时间差 9:09 节目六
6:56 节目一 节目二减节目一的时间差 7:00 节目二 节目三减节目二的时间差 7:18 节目三 节目四减节目三的时间差 7:58 节目四 节目五减节目四的时间差 11:40 节目五 节目六减节目五的时间差 12:41 节目六
6:00 节目一 节目二减节目一的时间差 6:20 节目二 节目三减节目二的时间差 6:54 节目三 节目四减节目三的时间差 7:53 节目四 节目五减节目四的时间差 11:17 节目五 节目六减节目五的时间差 11:57 节目六
7:30 节目一 节目二减节目一的时间差 12:55 节目二 节目三减节目二的时间差 19:35 节目三 节目四减节目三的时间差 23:35 节目四 无节目五,数据为空 无节目六,数据为空
7:10 节目一 节目二减节目一的时间差 7:30 节目二 节目三减节目二的时间差 12:30 节目三 节目四减节目三的时间差 12:55 节目四 节目五减节目四的时间差 13:05 节目五 节目六减节目五的时间差 15:55 节目六
6:14 节目一 节目二减节目一的时间差 6:30 节目二 节目三减节目二的时间差 8:20 节目三 节目四减节目三的时间差 11:40 节目四 节目五减节目四的时间差 12:00 节目五 节目六减节目五的时间差 15:38 节目六
7:00 节目一 节目二减节目一的时间差 11:11 节目二 节目三减节目二的时间差 12:00 节目三 节目四减节目三的时间差 12:30 节目四 节目五减节目四的时间差 16:33 节目五 节目六减节目五的时间差 17:30 节目六
6:30 节目一 节目二减节目一的时间差 7:00 节目二 节目三减节目二的时间差 7:20 节目三 节目四减节目三的时间差 8:00 节目四 节目五减节目四的时间差 12:30 节目五 节目六减节目五的时间差 12:35 节目六
6:15 节目一 节目二减节目一的时间差 7:00 节目二 节目三减节目二的时间差 7:30 节目三 节目四减节目三的时间差 11:50 节目四 节目五减节目四的时间差 12:15 节目五 节目六减节目五的时间差 12:35 节目六
6:45 节目一 节目二减节目一的时间差 7:05 节目二 节目三减节目二的时间差 7:35 节目三 节目四减节目三的时间差 8:25 节目四 节目五减节目四的时间差 11:30 节目五 节目六减节目五的时间差 17:45 节目六
6:00 节目一 节目二减节目一的时间差 6:32 节目二 节目三减节目二的时间差 6:45 节目三 节目四减节目三的时间差 7:00 节目四 节目五减节目四的时间差 7:22 节目五 节目六减节目五的时间差 7:32 节目六
6:00 节目一 节目二减节目一的时间差 6:30 节目二 节目三减节目二的时间差 7:30 节目三 节目四减节目三的时间差 7:51 节目四 节目五减节目四的时间差 8:00 节目五 节目六减节目五的时间差 11:50 节目六
7:00 节目一 节目二减节目一的时间差 7:50 节目二 节目三减节目二的时间差 9:00 节目三 节目四减节目三的时间差 9:15 节目四 节目五减节目四的时间差 10:15 节目五 节目六减节目五的时间差 10:55 节目六
7:30 节目一 节目二减节目一的时间差 7:50 节目二 节目三减节目二的时间差 12:00 节目三 节目四减节目三的时间差 12:30 节目四 节目五减节目四的时间差 13:10 节目五 节目六减节目五的时间差 18:00 节目六 不局限于EXCEL操作,我第一步就是把EXCEL手动复制到TXT文件中以便我用BAT操作
由于数据非常庞大(EXCEL原件内容中只是节选的小小小一部分。。。),我BAT基础如此之烂也不得不寻求这方面的解决方法
希望大大们不吝赐教,感激不尽
[ Last edited by flybird2020 on 2008-7-23 at 05:22 PM ]
|