标题: [文本处理] [已解决]批处理怎么提取csv文件中的单元格汇总到一个新的表格里啊? [打印本页]
作者: haichuan5121 时间: 2014-12-14 21:35 标题: [已解决]批处理怎么提取csv文件中的单元格汇总到一个新的表格里啊?
一个文件夹下有一堆CSV文件,怎么才能提取每个csv文件中的一个单元格,合并汇总到一个新的表格里啊;
比如附件1.csv 里 我想提取当前文件夹下所有csv文件 D37 的内容 到新表里,怎么实现啊,求大神指教
Lot Start Time 2011-5-4 4:48:22
Lot End Time 2011-5-4 5:12:12
Cassette ID 1AC-0999
Lot ID 1AGX140551
Port No. 3
Processed Substrate 20
Total Processed Substrate 349000
Sub. No. 3001
Cassette Slot No. 1
Process Recipe A-ITO400A
Platen Used Platen1
Recipe Type SMD-Product
SetUp Recipe A-ITO SETUP
Step1 Step2 Step3
Recipe1 A-ITO 400A ( S3 )
L1 Chamber In
L1 Waiting Time of Loading [sec] 0 77
L1 Heat temp [C] 24 23 26 24
L1 Heating Program No.. [no.] 1
L1 Keeping Program No.. [no.] 1
Chamber S3(CA32)
Units Set Ave Min Max Act
Process Start 2011-5-4 4:50:57
Process End 2011-5-4 4:51:07
S3 CA32 Platen Pos. [Pos.] 0
S3 CA32 Process Time [sec] 999 12
S3 CA32 Sputter Time [sec] 11 10
S3 MFC1 Ar [sccm] 280 281 281 281
S3 MFC2 O2 [sccm] 0 0 0 0
S3 MFC3 H2O [sccm] 3 3 3 3
S3 DG Pressure [Pa] 0.65 0.63 0.66
S3 CA32 DC Power1 [kW] 60 60 59.9 60
S3 CA32 DC Current1 [A] 145 143 146
S3 CA32 DC Voltage1 [V] 413 409 420
S3 CA32 Arc count1 [Times] 6
S3 CA32 Target Life(1) [kWh] 8975
作者: DAIC 时间: 2014-12-15 10:10
把你的csv压缩一下传上来
直接帖文本的话,格式就变了。
作者: haichuan5121 时间: 2014-12-15 11:24
回复 2# DAIC
附件如下 谢大神指导
作者: DAIC 时间: 2014-12-15 23:49
- gawk -F, "FNR==37{print $4}" *.csv > new.csv
复制代码
作者: haichuan5121 时间: 2014-12-16 11:06
DAIC 发表于 2014-12-15 23:49
这段代码怎么用??
作者: haichuan5121 时间: 2014-12-16 11:07
回复 4# DAIC
这段代码怎么用?
能详细点说嘛?我小白
作者: DAIC 时间: 2014-12-16 12:57
回复 6# haichuan5121
下载gawk.exe放到C:\Windows\System32文件夹下面
4楼的代码保存为test.bat
执行test.bat
作者: haichuan5121 时间: 2014-12-16 13:36
回复 7# DAIC
????,没反应啊,这个BAT放到哪执行啊 内容只需要这一行代码吗?
作者: DAIC 时间: 2014-12-16 13:45
回复 8# haichuan5121
test.bat和csv放到同一个目录下面
作者: haichuan5121 时间: 2014-12-16 15:44
回复 9# DAIC
生成的新csv文件 里面是空的啊???
作者: DAIC 时间: 2014-12-16 15:58
回复 10# haichuan5121
我用3楼的csv测试的时候可以得到结果。
你打开一个CMD窗口,cd到csv文件所在的目录,执行命令:
gawk -F, "FNR==37{print $4}" *.csv
有什么结果没?
你下载的哪个版本的gawk.exe呢?这是我的:
C:\Test>gawk --version
GNU Awk 4.1.0, API: 1.0
作者: 522235677 时间: 2014-12-16 16:10
- @echo off & setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /b *.csv') do (
- for /f "skip=36 delims=, tokens=4" %%b in ('type "%%a"') do (
- if "!a!"=="" >>new.csv echo %%b
- set a=1
- )
- set a=
- )
- pause
复制代码
作者: haichuan5121 时间: 2014-12-16 16:23
回复 12# 522235677
大神神武;能达到效果,大神能给解释下代码的作用吗》?还有就是能不能让你这个代码执行一遍后,第二遍再执行的时候数据不会重复提取啊!
作者: haichuan5121 时间: 2014-12-16 16:27
回复 12# 522235677
如果要取多个数据怎么写?现在D37能取了,放在了A列 如果D38放B列呢怎么修改啊!
作者: 522235677 时间: 2014-12-16 16:33
skip=36 delims=, tokens=4
如果是B38 ,就把skip参数改为37,tokens改为2
你上面说的不重复数据指的是比如第一个表格里提取了60,第二个表格也提取到60就算重复了?
作者: haichuan5121 时间: 2014-12-16 16:39
回复 15# 522235677
不是这意思 ,就是假如有五个CSV文件,你运行一遍BAT 有5个数据 你再运行一遍 那个表里就10个数据了
作者: 522235677 时间: 2014-12-16 16:43
回复 16# haichuan5121 - if exist new.csv del new.csv
复制代码
把这个代码放第二行
作者: haichuan5121 时间: 2014-12-16 16:48
本帖最后由 haichuan5121 于 2014-12-16 16:54 编辑
回复 17# 522235677
如果每个表取两个数比如刚才的D37和D38 分别放A列和B列呢,你给的编码怎么才能直接执行 不需要按一下键盘呢,进一步的求解:能不能执行这个批处理后 新表里的数据能实现根据生成数据自动生成一曲线??
作者: 522235677 时间: 2014-12-16 17:21
回复 18# haichuan5121 - @echo off & setlocal enabledelayedexpansion
- if exist new.csv del new.csv
- for /f "delims=" %%a in ('dir /b *.csv') do (
- for /f "skip=36 delims=" %%b in ('type "%%a"') do (
- set str=%%b
- set str=!str:,=,$!
- for /f "delims=, tokens=4" %%c in ("!str!") do (
- if "!a!"=="" (
- if "!x!"=="" (set x=%%c) else (set y=%%c&>>new.csv echo !x:$=!,!y:$=!&set a=1)
- )
- )
- )
- set x=
- set a=
- )
- pause
- start "" new.csv
复制代码
好麻烦,只能这样了
作者: 522235677 时间: 2014-12-16 17:25
csv不支持生成曲线
作者: haichuan5121 时间: 2014-12-16 17:40
回复 19# 522235677
好人做到底 ,授人与鱼不如授人与渔,如果再加数据怎么办啊,提取三个呢,每行编码大概给下功能备注吧,目的本来是提取三个数据的 所以先从提取一个请教了;
作者: haichuan5121 时间: 2014-12-16 17:44
回复 20# 522235677
csv可以用EXCEL打开啊
作者: haichuan5121 时间: 2014-12-16 17:49
回复 20# 522235677
取两个数的代码里面我也没有看到37字样啊 如果我想改成查询其他行的数据怎么办啊!
作者: haichuan5121 时间: 2014-12-16 18:58
大神们能修改成提取三个数据的代码吗?或者命令行提示单元格位置;获取数据的啊
作者: 522235677 时间: 2014-12-16 19:54
- @echo off & setlocal enabledelayedexpansion
- if exist new.csv del new.csv
- set data=D37,E39,D38
- for %%a in (%data%) do (
- echo Process %%a
- set /a d+=1
- for %%b in (A B C D E F G H I J K L M) do (
- set str=%%a
- set /a n+=1
- if "!str:~,1!"=="%%b" call :take !n! !str:~1,3! !d!
- )
- set n=
- )
- (for /f "delims=: tokens=2" %%a in ('findstr /n . new.csv^|findstr "1: 4: 7:"') do set /p=%%a,<nul)>$$.csv
- echo.>>$$.csv
- (for /f "delims=: tokens=2" %%a in ('findstr /n . new.csv^|findstr "2: 5: 8:"') do set /p=%%a,<nul)>>$$.csv
- echo.>>$$.csv
- (for /f "delims=: tokens=2" %%a in ('findstr /n . new.csv^|findstr "3: 6: 9:"') do set /p=%%a,<nul)>>$$.csv
- move /y $$.csv new.csv >nul
- start "" new.csv
- exit
- :take
- set /a h=%2-1
- for /f "delims=" %%a in ('dir /b *.csv') do (
- for /f "skip=%h% delims=" %%b in ('type "%%a"') do (
- set str=%%b
- set str=!str:,=,$!
- for /f "delims=, tokens=%1" %%c in ("!str!") do (
- if "!a!"=="" (set str=%%c&>>new.csv echo !str:$=!)
- set a=1
- )
- )
- set a=
- )
- goto :eof
复制代码
这代码我也是醉了,效率不高,不然得下功夫
作者: haichuan5121 时间: 2014-12-16 19:59
本帖最后由 haichuan5121 于 2014-12-16 20:14 编辑
回复 25# 522235677
99.8 99.8 455 200 200
99.8 99.9 455 200 200
99.8 455 455 200
输出格式不对哦 ,, 另是 取D37.D38.D39的数据?? 要改其他单元格的怎么改哦
作者: haichuan5121 时间: 2014-12-17 08:52
本帖最后由 haichuan5121 于 2014-12-17 08:59 编辑
能不能跟这个FTP下载代码合成一个啊? 下载完成后,执行大神的提取命令生成个新的表!
纯小白只能看别人的稍作修改,这个下载代码我还想只下载设定文件生成时间内的文件呢,这个时间段可以locle输入设定的!
比如只下载一周内新生成的文件,或者更高级点,提示命令行带起止日期设定的,
@echo off
rem 指定FTP用户名
set ftpUser=sputter
rem 指定FTP密码
set ftpPass=sputter
rem 指定FTP服务器地址
set ftpIP=10.30.1.4
rem 指定待下载的文件位于FTP服务器的哪个目录
set ftpFolder=/11/
set LocalFolder=F:\2
set ftpFile=%2%/2.csv
>"%ftpFile%" (
echo,%ftpUser%
echo,%ftpPass%
echo cd "%ftpFolder%"
echo lcd "%LocalFolder%"
echo bin
echo mget *0.csv
start ftp -v -i -s:"%ftpFile%" %ftpIP%
echo 任务完成...&pause>nul
)
作者: yiwuyun 时间: 2014-12-18 15:22
把n个1列的文件合并为一个n列的文件:output.txt
file1.txt file2.txt file3.txt file4.txt .........- @echo off
- setlocal enabledelayedexpansion
- set /a n=2
- set str=
- type nul>output.txt
- for /l %%a in (1,1,!n!) do (
- set /a n1=0
- for /f %%b in ('type file%%a.txt') do (
- set /a n1+=1
- for /l %%c in (!n1!,1,!n1!) do (
- set file%%a.row%%c=%%b
- )
- )
- )
- for /l %%a in (1,1,!n1!) do (
- for /l %%b in (1,1,!n!) do (
- set "str=!str!!file%%b.row%%a! "
- )
- echo !str!>>output.txt
- set str=
- )
复制代码
作者: yiwuyun 时间: 2014-12-18 18:52
修改了下,不足的用0来补。- @echo off
- setlocal enabledelayedexpansion
- set /a n=3
- set /a m=0
- set str=
- type nul>output.txt
- for /l %%a in (1,1,!n!) do (
- set /a n1=0
- for /f %%b in ('type file%%a.txt') do (
- set /a n1+=1
- for /l %%c in (!n1!,1,!n1!) do (
- set file%%a.row%%c=%%b
- )
- )
- if !n1! gtr !m! (set /a m=!n1!)
- )
- for /l %%a in (1,1,!m!) do (
- for /l %%b in (1,1,!n!) do (
- if "!file%%b.row%%a!"=="" (set /a file%%b.row%%a=0)
- set "str=!str!!file%%b.row%%a! "
- )
- echo !str!>>output.txt
- set str=
- )
复制代码
作者: haichuan5121 时间: 2014-12-19 02:57
回复 25# 522235677
大神 有时间给把格式改成正确的吧。数据能刷了 就是格式没有按列排列
作者: yiwuyun 时间: 2014-12-19 10:14
- @echo off
- echo {>yiwuyun.txt
- echo FS=",">>yiwuyun.txt
- echo if(FNR==37){a1=$4}>>yiwuyun.txt
- echo if(FNR==38){a2=$4}>>yiwuyun.txt
- echo if(FNR==39){a3=$4;printf "%%s,%%s,%%s\n",a1,a2,a3}>>yiwuyun.txt
- echo }>>yiwuyun.txt
- gawk -f yiwuyun.txt *.csv>new.csv
- if exist yiwuyun.txt del yiwuyun.txt
复制代码
作者: haichuan5121 时间: 2014-12-19 21:59
回复 31# yiwuyun
感谢大神指导 我这执行完全啊没反应。
作者: haichuan5121 时间: 2014-12-19 22:02
回复 31# yiwuyun
能不能把19楼的给修改下啊,19楼的完全符合我的设想,就是最后生成表格格式有点错误‘
作者: yiwuyun 时间: 2014-12-20 09:09
- @echo off & setlocal enabledelayedexpansion
- for /l %%i in (37,1,39) do (
- set /a n=%%i-1
- set /a n1=%%i-36
- for /f "delims=" %%a in ('dir /b *.csv') do (
- for /f "skip=!n! delims=, tokens=4" %%b in ('type "%%a"') do (
- if "!a!"=="" >>file!n1!.txt echo %%b
- set a=1
- )
- set a=
- )
- )
- set /a n=3
- set /a m=0
- set str=
- type nul>new.csv
- for /l %%a in (1,1,!n!) do (
- set /a n1=0
- for /f %%b in ('type file%%a.txt') do (
- set /a n1+=1
- for /l %%c in (!n1!,1,!n1!) do (
- set file%%a.row%%c=%%b
- )
- )
- if !n1! gtr !m! (set /a m=!n1!)
- )
- for /l %%a in (1,1,!m!) do (
- for /l %%b in (1,1,!n!) do (
- if "!file%%b.row%%a!"=="" (set /a file%%b.row%%a=0)
- set "str=!str!!file%%b.row%%a! "
- )
- echo !str!>>new.csv
- set str=
- )
复制代码
试试。
作者: terse 时间: 2014-12-20 09:40
给你两参考 结果显示符合不 可自己修改下- @if(0)==(0) ECHO OFF
- CScript.exe -NoLogo -E:JScript %0 "%~dp0test.csv" "D37 D38 D39"
- pause&exit
- @end
- var filePath= WSH.Arguments.Item(0)
- var oXL = new ActiveXObject("Excel.application");
- var oWB = oXL.Workbooks.open(filePath);
- oWB.worksheets(1).select();
- var oSheet = oWB.ActiveSheet;
- var ar = WSH.Arguments.Item(1).split(' ');
- var t = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
- var arr = [],len = ar.length;
- for (var i = 0; i < len; i++) {
- var n = t.indexOf(ar[i].slice(0,1))+1;
- var m = ar[i].slice(1);
- arr.push(oSheet.Cells(m,n));
- }
- WSH.echo(arr);
- oXL.Quit();
复制代码
- @if(0)==(0) ECHO OFF
- CScript.exe -NoLogo -E:JScript %0 <test.csv "D37 D38 D39"
- pause&exit
- @end
- var arr = WSH.StdIn.Readall().split('\r\n');
- var len = arr.length;
- for (var i = 0; i < len; i++) {
- arr[i] = arr[i].replace(/,,/gi,',\s,').split(/\,/);
- }
- var ar = WSH.Arguments.Item(0).split(' ');
- var t = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
- var tarr = [],len = ar.length;
- for (var i = 0; i < len; i++) {
- var n = t.indexOf(ar[i].slice(0,1));
- var m = ar[i].slice(1)-1;
- tarr.push(arr[m][n]);
- }
- WSH.echo(tarr)
复制代码
作者: haichuan5121 时间: 2014-12-20 21:11
回复 34# yiwuyun
感谢提供代码。。可惜实验失败。。没有刷出数据。 拿三楼的附件 复制10份,提取固定位置数据汇成一新的表格;19楼能提取数据也真确就是格式 我要求是三列 他那个是三行。。。求改写
作者: yiwuyun 时间: 2014-12-21 15:03
- @echo off
- setlocal EnableDelayedExpansion
- set /a start=36
- for /l %%a in (37,1,39) do (
- set /a fileNumber=%%a-!start!
- set /a skip=0
- for /f "delims=" %%b in ('dir /b *.csv') do (
- for /f "tokens=4 delims=," %%c in ('type %%b') do (
- set /a skip+=1
- if "!skip!"=="%%a" (
- echo %%c>>file!fileNumber!.txt
- )
- )
- set /a skip=0
- )
- )
- set /a n=3
- set /a m=0
- set str=
- type nul>new.csv
- for /l %%a in (1,1,!n!) do (
- set /a n1=0
- for /f %%b in ('type file%%a.txt') do (
- set /a n1+=1
- for /l %%c in (!n1!,1,!n1!) do (
- set file%%a.row%%c=%%b
- )
- )
- if !n1! gtr !m! (set /a m=!n1!)
- )
- for /l %%a in (1,1,!m!) do (
- for /l %%b in (1,1,!n!) do (
- if "!file%%b.row%%a!"=="" (set /a file%%b.row%%a=0)
- set "str=!str!!file%%b.row%%a! "
- )
- echo !str!>>new.csv
- set str=
- )
复制代码
作者: yiwuyun 时间: 2014-12-21 15:17
- @echo off
- setlocal EnableDelayedExpansion
- set /a start=36
- for /l %%a in (37,1,39) do (
- set /a fileNumber=%%a-!start!
- set /a skip=0
- for /f "delims=" %%b in ('dir /b *.csv') do (
- for /f "tokens=4 delims=," %%c in ('type %%b') do (
- set /a skip+=1
- if "!skip!"=="%%a" (
- echo %%c>>file!fileNumber!.txt
- )
- )
- set /a skip=0
- )
- )
- set /a n=3
- set /a m=0
- set str=
- type nul>new.csv
- for /l %%a in (1,1,!n!) do (
- set /a n1=0
- for /f %%b in ('type file%%a.txt') do (
- set /a n1+=1
- for /l %%c in (!n1!,1,!n1!) do (
- set file%%a.row%%c=%%b
- )
- )
- if !n1! gtr !m! (set /a m=!n1!)
- )
- for /l %%a in (1,1,!m!) do (
- for /l %%b in (1,1,!n!) do (
- if "!file%%b.row%%a!"=="" (set /a file%%b.row%%a=0)
- if "%%b"=="!n!" (
- set "str=!str!!file%%b.row%%a!"
- ) else (
- set "str=!str!!file%%b.row%%a!,"
- )
- )
- echo !str!>>new.csv
- set str=
- )
复制代码
逗号分隔
作者: apang 时间: 2014-12-21 16:41
也来一个:- @set @n=0;/* & echo off
- set "cell=D37 D38 D39"
- for %%a in (*.csv) do (
- cscript -nologo -e:jscript "%~0"<"%%a">>$ "%cell%"
- )
- move $ new.csv
- pause & exit & */
-
- arg = WScript.Arguments(0).split(" ");
- txt = WScript.StdIn.ReadAll();
- arTxt = txt.replace(/(\s*\n)+$/, "").split("\r\n");
- chr = "0ABCDEFGHIJKLMNOPQRSTUVWXYZ";
- arCell = [];
- for (i=0; i<arg.length; i++) {
- m = arg[i].match(/\d+$/)[0] - 1;
- n = ("0" + arg[i]).match(/(..)\d+$/)[1].toUpperCase();
- n1 = chr.indexOf(n.substr(0, 1));
- n2 = chr.indexOf(n.substr(1));
- n = n1 * 26 + n2 - 1;
- arCell.push(arTxt[m].split(",")[n]);
- }
- WScript.Echo(arCell.join(","))
复制代码
作者: apang 时间: 2014-12-21 17:03
再来一下:- arrCell = Array("D37", "D38", "D39") ''需要提取的单元格
- Set fso = CreateObject("Scripting.FileSystemObject")
- For Each file in fso.GetFolder(".").Files
- If LCase(Right(file, 4)) = ".csv" Then
- Set f = fso.OpenTextFile(file, 1)
- txt = f.ReadAll : f.Close
- str = str & getCellsData(txt) & vbCrLf
- End If
- Next
-
- fso.OpenTextFile("new.csv", 2, true).Write str
- MsgBox "OK"
-
- Function getCellsData(ByVal txt)
- '' csv文本分割成数组
- arrTxt = Split(txt, vbCrLf)
- strChr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- ''建立正则表达式
- Set re = New RegExp
- ''正则表达式模式,最大支持到ZZ列
- re.Pattern = "^([a-z]{1,2})(\d+)$"
- re.IgnoreCase = true
- For i = 0 to UBound(arrCell)
- n = re.Execute(arrCell(i))(0).SubMatches(0)
- n = UCase(Right("0" & n, 2))
- n1 = InStr(strChr, Left(n, 1))
- n2 = InStr(strChr, Mid(n, 2))
- n = n1 * 26 + n2 - 1
- m = re.Execute(arrCell(i))(0).SubMatches(1) - 1
- s = s & "," & Split(arrTxt(m), ",")(n)
- Next
- getCellsData = Mid(s, 2)
- End Function
复制代码
作者: yiwuyun 时间: 2014-12-21 18:03
- @echo off
- setlocal EnableDelayedExpansion
- set /a rowStart=37
- set /a rowEnd=39
- set /a colNumber=4
- set "fileSeperator=,"
- set "fileType=csv"
-
- if "!fileType!"=="csv" (
- set "allFile=*.csv"
- ) else (
- set "allFile=*.txt"
- )
- if "!fileSeperator!"=="," (
- set outputFile=new.csv
- ) else (
- set outputFile=new.txt
- )
- set /a fileCount=!rowEnd!-!rowStart!+1
- for /l %%a in (!rowStart!,1,!rowEnd!) do (
- set /a fileNumber=%%a-!rowStart!+1
- set /a skip=0
- for /f "delims=" %%b in ('dir /b !allFile!') do (
- for /f "tokens=%colNumber% delims=," %%c in ('type %%b') do (
- set /a skip+=1
- if "!skip!"=="%%a" (
- echo %%c>>file!fileNumber!.txt
- )
- )
- set /a skip=0
- )
- )
- set /a n=!fileCount!
- set /a m=0
- set str=
- type nul>!outputFile!
- for /l %%a in (1,1,!n!) do (
- set /a n1=0
- for /f %%b in ('type file%%a.txt') do (
- set /a n1+=1
- for /l %%c in (!n1!,1,!n1!) do (
- set file%%a.row%%c=%%b
- )
- )
- if !n1! gtr !m! (set /a m=!n1!)
- )
- for /l %%a in (1,1,!m!) do (
- for /l %%b in (1,1,!n!) do (
- if "!file%%b.row%%a!"=="" (set /a file%%b.row%%a=0)
- if "%%b"=="!n!" (
- set "str=!str!!file%%b.row%%a!"
- ) else (
- if "!fileSeperator!"=="," (
- set "str=!str!!file%%b.row%%a!,"
- ) else (
- set "str=!str!!file%%b.row%%a! "
- )
- )
- )
- echo !str!>>!outputFile!
- set str=
- )
- for /l %%a in (1,1,!fileCount!) do (
- if exist ".\file%%a.txt" del ".\file%%a.txt"
- )
复制代码
这个稍稍通用一点
作者: haichuan5121 时间: 2014-12-21 21:03
回复 38# yiwuyun
大神NB啊 成了 ,就是小白用着有点蒙圈;能不能改成 输入 单元格刷数据的啊,比如 提示输入C2 .D8. F20 就可以刷这三位置的数据啊?
或者跟19楼似得刷取过程有个提示的。
作者: haichuan5121 时间: 2014-12-21 21:06
回复 40# apang
运行没反应啊 我小白 也看不懂
作者: haichuan5121 时间: 2014-12-22 00:01
回复 39# apang
你这个数据少能刷;我这个文件有200-500个文件 刷一个要50分钟。。。。。
作者: apang 时间: 2014-12-22 15:48
除非单个文件几百兆上G级,否则不可能“刷一个要50分钟”。
如此,你应该在顶楼就交代清楚
顶楼不说清楚,一会想实现这样一会又想那样,什么心态?“我是小白”很了不起吗?
给你代码不会用,活该你慢。
作者: yiwuyun 时间: 2014-12-22 16:40
回复 44# haichuan5121
你用40楼的代码,很快的,几百个文件也不会超过10秒吧。
我是写着玩的,哪晓得你要那么多文件。根本就不考虑效率。
你把40楼的代码的文件名改成vbs结尾,不要用bat结尾。主要是你没把用途写清楚,一直都在变。别人当然就不考虑那么多了。
作者: haichuan5121 时间: 2014-12-25 11:30
回复 45# apang
你的40楼是正确的,问题解决了,一直以为是BAT代码呢 不知道是VBS的 改个后缀就能刷了 。。
作者: haichuan5121 时间: 2014-12-25 17:14
回复 45# apang
Sorry 大哥对不住啊! 我一直以为你写得代码是BAT格式的呢,原来是VBS的。。。可以了
作者: haichuan5121 时间: 2015-2-2 14:42
Apang 大神 在不,帮忙看下 我的VB这个代码用的好好的,最近也没改啥咋用不了了啊! 提示
作者: apang 时间: 2015-2-2 17:49
回复 49# haichuan5121
代码没有做容错处理,如果输入的行数或列数大于csv文件本身的行数或列数,就会报“下标越界”
解决办法:在vbs代码开头插入一行:复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |