[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 19# 522235677


    好人做到底 ,授人与鱼不如授人与渔,如果再加数据怎么办啊,提取三个呢,每行编码大概给下功能备注吧,目的本来是提取三个数据的 所以先从提取一个请教了;

TOP

csv不支持生成曲线

TOP

回复 18# haichuan5121
  1. @echo off & setlocal enabledelayedexpansion
  2. if exist new.csv del new.csv
  3. for /f "delims=" %%a in ('dir /b *.csv') do (
  4. for /f "skip=36 delims=" %%b in ('type "%%a"') do (
  5. set str=%%b
  6. set str=!str:,=,$!
  7. for /f "delims=, tokens=4" %%c in ("!str!") do (
  8. if "!a!"=="" (
  9. if "!x!"=="" (set x=%%c) else (set y=%%c&>>new.csv echo !x:$=!,!y:$=!&set a=1)
  10. )
  11. )
  12. )
  13. set x=
  14. set a=
  15. )
  16. pause
  17. start "" new.csv
复制代码
好麻烦,只能这样了

TOP

本帖最后由 haichuan5121 于 2014-12-16 16:54 编辑

回复 17# 522235677


    如果每个表取两个数比如刚才的D37和D38 分别放A列和B列呢,你给的编码怎么才能直接执行 不需要按一下键盘呢,进一步的求解:能不能执行这个批处理后 新表里的数据能实现根据生成数据自动生成一曲线??

TOP

回复 16# haichuan5121
  1. if exist new.csv del new.csv
复制代码
把这个代码放第二行

TOP

回复 15# 522235677


    不是这意思 ,就是假如有五个CSV文件,你运行一遍BAT 有5个数据 你再运行一遍 那个表里就10个数据了

TOP

skip=36 delims=, tokens=4

如果是B38 ,就把skip参数改为37,tokens改为2

你上面说的不重复数据指的是比如第一个表格里提取了60,第二个表格也提取到60就算重复了?

TOP

回复 12# 522235677


    如果要取多个数据怎么写?现在D37能取了,放在了A列  如果D38放B列呢怎么修改啊!

TOP

回复 12# 522235677


    大神神武;能达到效果,大神能给解释下代码的作用吗》?还有就是能不能让你这个代码执行一遍后,第二遍再执行的时候数据不会重复提取啊!

TOP

  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /b *.csv') do (
  3. for /f "skip=36 delims=, tokens=4" %%b in ('type "%%a"') do (
  4. if "!a!"=="" >>new.csv echo %%b
  5. set a=1
  6. )
  7. set a=
  8. )
  9. pause
复制代码

TOP

回复 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

TOP

回复 9# DAIC


    生成的新csv文件 里面是空的啊???

TOP

回复 8# haichuan5121


    test.bat和csv放到同一个目录下面

TOP

回复 7# DAIC


    ????,没反应啊,这个BAT放到哪执行啊 内容只需要这一行代码吗?

TOP

回复 6# haichuan5121


下载gawk.exe放到C:\Windows\System32文件夹下面
4楼的代码保存为test.bat
执行test.bat

TOP

返回列表