[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回10楼:
我是一名脚本炼器师,恨自己才疏学浅,还未能把祖师爷的技术推演至极!
我是一名脚本炼器师,恨自己才疏学浅,还未能把祖师爷的powershell太乙精金炼制成屠龙宝刀!
我炼出n宝,刺瞎了钛金狗眼,谁不服就出来晒宝。
我分享经验,总有人受益。
我放出方案,解决问题。总有人受益。
我一步一脚印,十步杀一人,身后躺满 手持破铜烂铁;风凉话;吹牛x;质疑;炼器师的残尸。
我手持,还未炼化完美的残刃,目光深邃,登上高坛,渴望用你来磨练我的宝刀。。。
我道:“磨练技术,法宝而已,输赢没什么的,真的,来吧”


身为脚本炼器师,手持破铜烂铁,除了风凉话,吹牛x,怕输就只会做缩头乌龟,还怎在圈里混?
去年你炼制的破铜烂铁,被我实事求是地,用时间对比证明了不太佳,就来说风凉话,找后帐了么?
你应该发粪涂墙啊,你这样做难免让【所有脚本炼器师】鄙视。
1

评分人数

    • CrLf: 发粪涂墙破坏市容,说人话PB -40
脚本是写给人看的,是写给用户看的,而不是写给机子看的
用户能看懂、会修改的脚本,才是好脚本。
写易懂的powershell脚本帮人解决问题,进而让用户学会自渔,吾所愿也

TOP

  1. @if(0)==(0) echo off
  2. md test 2>nul
  3. set ph=%~dp0
  4. cscript //nologo //E:JScript "%~f0" "%ph%"
  5. pause&exit
  6. @end;
  7. var fso = new ActiveXObject("Scripting.FileSystemObject");
  8. var re = /^(.*);[^\;]+$/gm;
  9. var str = '$FORMAT Ticker, Date_YMD, Open, High, Low, Close, Volume' + '\r\n';
  10. var arr = ['$SKIPLINES 1' , '$SEPARATOR ,' , '$DEBUG 1' , '$BREAKONERR 1', '$AUTOADD 1'];
  11. String.prototype.strreg = function(filename) {
  12.     return this.replace(re ,
  13.            function(a,b) {
  14.               return filename  + '.SS,' + b.replace(/;/g,',') +'\r\n';
  15.            });
  16. };
  17. function Files(files){
  18.     var f = fso.GetFolder(files);
  19.     var fc = new Enumerator(f.files);
  20.     for (; !fc.atEnd(); fc.moveNext())
  21.     {
  22.       var file =fc.item();
  23.       var ext=/\.[^\.]+$/.exec(file);
  24.       if (ext == '.txt') {
  25.           var filename = file.name.match(/\d+/);
  26.           var newfile = f + '/test/'+ filename + ext;
  27.           var fs = file.OpenAsTextStream(1, -2);
  28.           var text = str + fs.ReadAll().strreg(filename) + arr.join('\r\n');
  29.           fs.Close();
  30.           var fs = fso.createtextfile(newfile,true);
  31.           fs.Write(text);
  32.       }
  33.      }
  34. }
  35. Files(WScript.Arguments.Item(0));
复制代码

TOP

本帖最后由 apang 于 2014-6-25 00:37 编辑

擦,说了一通的屁话,无非是想找人PK

也不看看自己啥德性,值得别人跟你PK不

TOP

1脚本在此,根据上次那个【单核】脚本简单改变而成,和上次的脚本80%以上相同,实际上powershell文本处理脚本很简单,基本都这样。如果你还需要多核的,招呼一声,也请说出你干活的cpu频率和核心,说型号也行。

2 还是哪句话,谁不服,欢迎pk,我们越用不同的脚本pk,不同的语言pk,楼主越受益。但请跟此帖,不要乱搞论坛了,拜托。

3pk的话,还请楼主上传数据,越多,越大,越全,越好。
3.1 建议每位pk者说出自己的cpu,脚本内存占用。
3.2你若来pk最好去powershell版看看安装帖子,搞个最新版的powershell。或者这样说,每种语言的最新版本的解释器,你都要有,每种脚本的运行时间,你都要给出。
最少给出你的,和我的脚本,在你机子上的运行时间。
脚本是写给人看的,是写给用户看的,而不是写给机子看的
用户能看懂、会修改的脚本,才是好脚本。
写易懂的powershell脚本帮人解决问题,进而让用户学会自渔,吾所愿也

TOP

比较下两个文件 看不出规律 放弃

TOP

回复 3# PowerShell

在这个帖子里面见你用powershell测试了,速度感觉不是很快啊!方便性应该没得说。
http://www.bathome.net/thread-30473-1-4.html
学习一下powershell看看吧!先谢谢你了!

TOP

回复 2# CrLf


SH600099.txt要变成600099.txt 请前辈帮忙

在第一行加上
$FORMAT Ticker, Date_YMD, Open, High, Low, Close, Volume
然后每一行开始加上文件名中的数字,比如600099(主要是这一步难住我了)
然后分号改成逗号 去掉每一行最后一个分号后面的数字
最后 将最后一行替换成
$SKIPLINES 1
$SEPARATOR ,
$DEBUG 1
$BREAKONERR 1
$AUTOADD 1

TOP

回复 3# PowerShell


这貌似不是简单查找替换,awk,sed,编程估计累死你,另外效率也不可能好。

说你懂的那部分就够了
不懂的就不要乱说了

TOP

本帖最后由 CrLf 于 2014-6-24 16:22 编辑

回复 3# PowerShell


    perl 携妻带子为性能太差掩面泪奔,python 抱着 encode/decode 嚎啕大哭,点柱蚊香膜拜我无敌大p版主

TOP

本帖最后由 PowerShell 于 2014-6-24 15:13 编辑

这貌似不是简单查找替换,awk,sed,编程估计累死你,另外效率也不可能好。
先放出部分代码:
  1. # SZ000002.TXT
  2. $file = Get-Content   $args [0]  -ReadCount 0
  3. $结束 = $file.length -1
  4. $开始 = $结束 - 3
  5. $最后三行 = $file[$开始..$结束]
  6. $输出文件名temp001 = Get-ChildItem $args [0]
  7. $输出文件名temp002 = $输出文件名temp001.filename
  8. $输出文件名 = "" + $输出文件名temp002[2..$输出文件名temp002.length] + $输出文件名temp001.Extension
复制代码
对了楼主有powershell运行环境么?是什么系统,版本是powershell几点零?愿意搭建powershell脚本运行环境么?

因为我只会 超牛x的 powershell,你要是没有或不愿意搭建powershell的话,以后我也不关注,解答你的问题了。


旁白:
win下处理文件,讲功能bat肯定不行,处理不了长字符串。
awk、sed、python这些生于linux世界的软件,对unicode,中文编码不如powershell。
vbs又没有stringbuilder这个大字符串对象。
几乎powershell是最简单,功能强,编码支持最好的,至于性能,欢迎跟我写的powershell脚本pk。
1

评分人数

    • CrLf: 不懂的东西不要随意诽谤PB -40
脚本是写给人看的,是写给用户看的,而不是写给机子看的
用户能看懂、会修改的脚本,才是好脚本。
写易懂的powershell脚本帮人解决问题,进而让用户学会自渔,吾所愿也

TOP

上传个样本

TOP

返回列表