WPS中的EXCL有大写和小写的序号,删除行后怎么排序?

(版权所有,转载请注明)

摘 要:本文介绍了通过分析windows快捷方式扫描目录以及使用脚本语言结合批处理命令创建快捷方式的方法达到在“开始”菜单“运行”选项里输入自定义 “命令”实现通过输入命令的方式打开/运行任文件(程序、文件及文件夹)。使用此种方法能够最大化缩短寻找程序、文件的时间,从而大大提高使用电脑学习、 工作的效率。

关键词:Windows;注册表;运行;快捷方式;系统目录;BAT;VBS;命令

如果对本文过程不感兴趣,可以直接跳到第4章(结论)。

本 文是作者对自己于2009年写的一个程序(应该叫脚本更加合适)的一个总结,涉及到了Windows的注册表、快捷方式、VBS脚本语言、批处理命令等内 容,也提到了使用Windows功能的一些小技巧,在此和大家分享。本文面向的读者为:1、对Windows有兴趣的;2、对Windows系统结构有一 定了解的;3、对BAT或VBS感兴趣的; 

Windows出来已经有一些年头了,自从有了Windows后人们就能够通过操作鼠标很方 便地完成大量的操作,不必再像DOS时代每个操作都需要用键盘敲命令来实现。但是,随着操作系统的不断升级,系统变得越来越聪明,越来越多的操作依赖于鼠 标来实现,操作者对系统现成的功能也越来越依赖,操作虽然方便了,但是操作的效率是否就非常高了呢?作者认为并不是这样的,很多时候键盘的操作效率比鼠标 要高的多(打DOTA就是一个很好的例子,如果使用鼠标来施放技能,那么估计就被杀成鬼了……)。写过程序的人都知道,一个东西封装程度越高,那么它使用 起来就越方便,但是同时它的限制就多了,灵活性也就越差,矛盾总是存在的,操作系统(某些方面)也一样。举个例子,有人在使用电脑做工程/项目时,需要使 用很多软件,参考很多资料,那么就需要不断打开很多窗口,窗口多时还要关闭一些窗口,假设这些东西都能够在桌面(当然是Windows的桌面)找到,那么 要打开一个文档或程序就要返回桌面一次,寻找->打开,如果资料还不都在桌面上,那么还要深入到某个目录下寻找……这些操作可以通过操作鼠标和键盘 组合来实现,但大都是重复而浪费时间,这些重复而浪费时间的事应该让不会思考的电脑完成,我们需要做的事就是告诉电脑我们想做什么---输入命令,然后我 们就能打开想打开的东西,就像输入“记事本”,电脑就打开一个记事本;输入“工具”,电脑就打开我们常用工具所在的文件夹;输入“给我放首歌”,电脑就播 放一首歌(放首什么歌呢?把歌名作为参数就可以了。说到这个,顺便给读者讲个笑话:一个好程序员是不会写一个“摧毁地球”的函数的,他只会写一个“摧毁行 星”的函数,而把地球作为它的参数……),命令是自定义的,就不需要为记住命令而花不必要的时间,重复操作的时间就省下来了。
摘要所描述的可能有 些抽象,不过也总结了本文想要介绍的内容。可能对于对window了解不是很深入的读者还是不太清楚摘要中所描述的功能,那么接下来作者再举个例子吧。很 多人都看过《钢铁侠》这部电影,电影里有一幕给作者的印象特别深刻,那就是Stark的助理在公司办公室的电脑上看到了Stark被匪徒绑架后要挟公司高 层的录像,助理不知道匪徒说的是哪国语言,于是调出来个小对话框,输入“Translate”(不包括引号……),匪徒说的鸟语就变成了英语。作者在摘要 里描述的功能就是类似Stark的助理输入“Translate”的功能,当然,《钢铁侠》是个科幻电影,所以本文所要阐述的功能并没有电影里的那么强 大,只是类似(但是,相信在未来10年内就能实现了,而且还是可以是声控的!),就向电影里的一样,能够让电脑(Windows)的操作者省去找来翻译软 件这种繁琐而浪费时间的动作。当然,初期设置是必须的,本文从第2章开始就会提到如何实现。

本文所描述的功能均在Windows XP 下实现,其他版本的Windows用户可以参考借鉴,文中也会提到应付不同版本Windows的方法。

”呢?对的,就打开了一个百度的首页(当然,前提是要已联网,不然就会得到ERROR404)。本文只是介绍了实现打开/运行 文件的方法,如果会使用BAT或VBS或Windows编程的读者结合自定义的脚本/程序,相信则不仅仅可以打开/运行一些文件而已,还可以执行一系列的 自动化操作而不影响到%windir%的整洁(快捷方式很小的,而且很容易整理),最后一个例子,作者不经常关机,而是经常待机,所以写了一个脚本,并且 做成了自定义“命令”,所以每次需要待机就输入“standby”就可以完成,“命令”简洁明了。如果读者正在使用电脑进行着重复的操作,那么就可以想一 想如何让电脑来帮助你完成这些重复的动作了。
最后,重要的不是结果,而是过程,希望本文能够给读者平时在使用windows时带来一些启发,本文涉及到的批处理、VBS、环境变量、系统自带工具等内容,网上有很多资料可以参考,搜索相应关键字就可以了。如果本文有错误或不妥的地方,请读者不吝赐教,谢谢!

使用批处理进行数据智能备份与同步

(版权所有,转载请注明)


(版权所有,转载请注明)


}
direc保存指定驱动器当前工作路径的变量 成功返回0
 节长为为止.错误返回NULL
 ,此函数使用DOS的PATH变量,未找到文件返回NULL

 并异常终止程序。无返回值

int exec…装入和运行其它程序

 exec函数族装入并运行程序pathname,并将参数
 在exec函数族中,后缀l、v、p、e添加到exec后,
 所指定的函数将具有某种操作能力
 有后缀 p时,函数可以利用DOS的PATH变量查找子程序文件。
 l时,函数中被传递的参数个数固定。
 v时,函数中被传递的参数个数不固定。
 e时,函数传递指定参数envp,允许改变子进程的环境,
 无后缀e时,子进程使用当前程序的环境。
 并调用任何寄存器的"出口函数",无返回值
mode为 P_WAIT 表示在子程序运行完后返回本程序 P_NOWAIT 表示在子程序运行时同时运行本程序(不可用) P_OVERLAY表示在本程序退出后运行子程序 所指定的函数将具有某种操作能力 有后缀 p时, 函数利用DOS的PATH查找子程序文件 l时, 函数传递的参数个数固定. v时, 函数传递的参数个数不固定. e时, 指定参数envp可以传递给子程序,允许改变子程序运行环境. 当无后缀e时,子程序使用本程序的环境.
 将浮点数value转换成字符串并返回该字符串
 将浮点数value转换成字符串并返回该字符串
 将数value转换成字符串并存于buf中,并返回buf的指针
 将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数
 将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数
 将整数value转换成字符串存入string,radix为转换时所用基数

 就显示一个信息并异常终止程序,无返回值
 字符串str:错误信息
 用户修改数学错误返回信息函数(没有必要使用)
用户修改数学错误返回信息函数(没有必要使用)

int fgetchar()从控制台(键盘)读一个字符,显示在屏幕上

int getch() 从控制台(键盘)读一个字符,不显示在屏幕上

int getchar() 从控制台(键盘)读一个字符,显示在屏幕上

int getche() 从控制台(键盘)读一个字符,显示在屏幕上

 赋值,使用BIOS进行输出
 赋值,直接对控制台作操作,比如显示器在显示时字符时即为直接写频方式显示
 直接对控制台作操作,比如显示器即为直接写频方式显示
 直接对控制台作操作,比如显示器即为直接写频方式显示
 直接对控制台作操作,比如显示器即为直接写频方式显示,
 将字符串string的内容重新写为格式化后的字符串
 将字符串string的内容重新写为格式化后的字符串,参数从Valist param中取得
 本函数是用来控制输入/输出设备的,请见下表:
 ┌───┬────────────────────────────┐
 ├───┼────────────────────────────┤
 │ 0 │取出设备信息 │
 │ 1 │设置设备信息 │
 │ 6 │取输入状态 │
 │ 7 │取输出状态 │
 │ 11 │置分享冲突的重算计数;只对DOS3.x │
 └───┴────────────────────────────┘
 按后按access来确定是读文件还是写文件,access值见下表
 ┌──────┬────────────────────┐
 ├──────┼────────────────────┤
 │O_NOINHERIT│若文件没有传递给子程序,则被包含 │
 │O_DENYALL │只允许当前处理必须存取的文件 │
 │O_DENYWRITE│只允许从任何其它打开的文件读 │
 │O_DENYREAD │只允许从任何其它打开的文件写 │
 │O_DENYNONE │允许其它共享打开的文件 │
 └──────┴────────────────────┘
 按后按access来确定是读文件还是写文件,access值见下表
 ┌────┬────────────────────┐
 ├────┼────────────────────┤
 │O_APPEND│即读也写,但每次写总是在文件尾添加 │
 │O_CREAT │若文件存在,此标志无用;若不存在,建新文件 │
 │O_TRUNC│若文件存在,则长度被截为0,属性不变 │
 │O_BINARY│此标志可显示地给出以二进制方式打开文件 │
 │O_TEXT │此标志可用于显示地给出以文本方式打开文件│
 └────┴────────────────────┘
 permiss为文件属性,可为以下值:
 读写性。permiss为文件读写性,可以为以下值
 属性。attrib为文件属性,可以为以下值
 属性。attrib为文件属性,可以为以下值
 属性。attrib为文件属性,可以为以下值
 存入buf中,直接调用MSDOS进行操作.
 并将文件时间存于ftime结构中,成功返回0,ftime结构如下:
 ┌─────────────────┐
 └─────────────────┘
 新时间在结构ftime中.成功返回0.结构ftime如下:
 ┌─────────────────┐
 └─────────────────┘
成功返回0否则返回-1,可用于UNIX系统 成功返回0否则返回-1,只能用于MSDOS系统
 并返回这个文件指针,type可为以下字符串加上后缀
 ┌──┬────┬───────┬────────┐
 │type│读写性 │文本/2进制文件│建新/打开旧文件 │
 ├──┼────┼───────┼────────┤
 │r │读 │文本 │打开旧的文件 │
 │w │写 │文本 │建新文件 │
 │a │添加 │文本 │有就打开无则建新│
 │r+ │读/写 │不限制 │打开 │
 │w+ │读/写 │不限制 │建新文件 │
 │a+ │读/添加│不限制 │有就打开无则建新│
 └──┴────┴───────┴────────┘
 可加的后缀为t、b。加b表示文件以二进制形式进行操作,t没必要使用
 例: ┌──────────────────┐
 └──────────────────┘
 个长度为size的字符串存入ptr中
 个长度为size的字符串,字符串在ptr中
 串写给指定的流stream
┌───┬───────────────────────────────┐ │type值│意义 │ ├───┼───────────────────────────────┤ │_IOFBF│文件是完全缓冲区,当缓冲区是空时,下一个输入操作将企图填满整个缓│ │ │冲区.在输出时,在把任何数据写到文件之前,将完全填充缓冲区. │ │_IOLBF│文件是行缓冲区.当缓冲区为空时,下一个输入操作将仍然企图填整个缓│ │ │冲区.然而在输出时,每当新行符写到文件,缓冲区就被清洗掉. │ │_IONBF│文件是无缓冲的.buf和size参数是被忽略的.每个输入操作将直接从文 │ │ │件读,每个输出操作将立即把数据写到文件中. │ └───┴───────────────────────────────┘
 处理即对读的流,将流内内容读入缓冲区;
 对写的流,将缓冲区内内容写入流。成功返回0

int fflushall() 关闭所有流,并对流各自的缓冲区作处理

 处理即对读的流,将流内内容读入缓冲区;
 对写的流,将缓冲区内内容写入流。成功返回0
 函数将属性存于amode中,amode由以下位的组合构成
 06可以读、写 04可以读 02可以写 01执行(忽略的) 00文件存在
 如果filename是一个目录,函数将只确定目录是否存在
 函数执行成功返回0,否则返回-1
 本函数用于读取或设定文件filename的属性,
 当func=0时,函数返回文件的属性;当func=1时,函数设定文件的属性
 若为设定文件属性,attrib可以为下列常数之一
 函数分析一个字符串,通常,对一个文件名来说,是由cmdline所指的一个命令行.
 文件名是放入一个FCB中作为一个驱动器,文件名和扩展名.FCB是由fcbptr所指
 定的.option参数是DOS分析系统调用时,AL文本的值.
辑扇区号,buffer为保存所读数据的保存空间 辑扇区号,buffer为保存所写数据的所在空间 ┌───────────────────┐ └───────────────────┘
 本函数返回指定驱动器drive(0=当前,1=A,2=B等)的文件分配表信息
 并存入结构fatblkp中,结构如下:
 ┌──────────────────┐
 └──────────────────┘
 并存入结构fatblkp中,结构如下: 
 ┌──────────────────┐
 └──────────────────┘
 执行intr_num号中断,用户定义的寄存器值存于结构inregs中,
 执行完后将返回的寄存器值存于结构outregs中.
结构inregs中和结构segregs中,执行完后将返回的寄存器值存于结构outregs中.
 本函数执行DOS中断0x21来调用一个指定的DOS函数,用户定义的寄存器值
 存于结构inregs中,执行完后函数将返回的寄存器值存于结构outregs中
 本函数执行DOS中断0x21来调用一个指定的DOS函数,用户定义的寄存器值
 存于结构inregs和segregs中,执行完后函数将返回的寄存器值存于结构outregs中
 它能产生一个由参数intr_num指定的8086软件中断.函数在执行软件中断前,
 从结构preg复制用户定义的各寄存器值到各个寄存器.软件中断完成后,
 函数将当前各个寄存器的值复制到结构preg中.参数如下:
 preg为保存用户定义的寄存器值的结构,结构如下
 ┌──────────────────────┐
 └──────────────────────┘
 函数执行完后,将新的寄存器值存于结构preg中
 用空间由size决定.
 每当出现错误时就调用fptr所指的程序
 函数将fcbptr所指的FCB中的reccnt个记录写到磁盘上
 value为0表示关闭检验,为1表示打开检验

int getcbrk()本函数返回控制中断检测的当前设置

 错误信息填入eblkp所指的DOSERR结构中.该结构定义如下:
 ┌──────────────┐
 └──────────────┘
0置通讯参数为字节byte值 1 发送字符通过通讯线输出 2从通讯线接受字符 3 返回通讯的当前状态 byte为传送或接收数据时的参数,为以下位的组合: ┌───┬─────┬───┬─────┬───┬─────┐ │byte值│意义 │byte值│意义 │byte值│意义 │ │ ├───┼─────┼───┼─────┼───┼─────┤ │0x04 │2停止位 │0x00 │无奇偶性 │0x08 │奇数奇偶性│ │ └───┴─────┴───┴─────┴───┴─────┘ 函数返回值为一个16位整数,定义如下: 第14位 传送移位寄存器空 第13位 传送固定寄存器空 第 9位 过载运行错误 第 7位 接收线信号检测 第 5位 数据设置就绪 第 3位 δ接收线信号检测器 第 2位 下降边环形检测器 第 1位 δ数据设置就绪 本函数用来对驱动器作一定的操作,cmd为功能号, 0 重置软磁盘系统.这强迫驱动器控制器来执行硬复位.忽略所有其它参数. 1 返回最后的硬盘操作状态.忽略所有其它参数 2 读一个或多个磁盘扇区到内存.读开始的扇区由head、track、sector给出。 扇区号由nsects给出。把每个扇区512个字节的数据读入buffer 3 从内存读数据写到一个或多个扇区。写开始的扇区由head、track、sector 给出。扇区号由nsects给出。所写数据在buffer中,每扇区512个字节。 4 检验一个或多个扇区。开始扇区由head、track、sector给出。扇区号由 5 格式化一个磁道,该磁道由head和track给出。buffer指向写在指定track上 的扇区磁头器的一个表。 以下cmd值只允许用于XT或AT微机: 6 格式化一个磁道,并置坏扇区标志。 7 格式化指定磁道上的驱动器开头。 8 返回当前驱动器参数,驱动器信息返回写在buffer中(以四个字节表示)。 9 初始化一对驱动器特性。 10 执行一个长的读,每个扇区读512加4个额外字节 11 执行一个长的写,每个扇区写512加4个额外字节 12 执行一个磁盘查找 16 检查指定的驱动器是否就绪 函数返回由下列位组合成的状态字节: 0x02 地址标记找不到 0x07 驱动参数活动失败 0x0B 检查坏的磁盘标记 0x11 ECC校正的数据错误(注意它不是错误) 0x80 响应的连接失败 0xBB 出现无定义错误 0xFF 读出操作失败

int biodquip()检查设备,函数返回一字节,该字节每一位表示一个信息,如下:

00为1号驱动器,01为2号驱动器,10为3号驱动器,11为4号驱动器 第 1位 浮点共用处理器 第 0位 从软磁盘引导 0 返回敲键盘上的下一个键。若低8位为非0,即为ASCII字符;若低8位为0, 则返回扩充了的键盘代码。 1 测试键盘是否可用于读。返回0表示没有键可用;否则返回下一次敲键之值。 敲键本身一直保持由下次调用具的cmd值为0的bioskey所返回的值。 2 返回当前的键盘状态,由返回整数的每一个位表示,见下表: ┌──┬───────────┬───────────┐ │ 位│为0时意义 │为1时意义 │ ├──┼───────────┼───────────┤ │ 7 │插入状态 │改写状态 │ │ 6 │大写状态 │小写状态 │ └──┴───────────┴───────────┘ 0 打印字符,将字符byte送到打印机 函数返回值由以下位值组成表示当前打印机状态 0x01 设备时间超时
 0 函数返回计时器的当前值
 本函数用来控制某一国家的相关信息,如日期,时间,货币等.
 所指向的country结构用下列的国家相关信息填充:
 ┌────────────────────┐
 └────────────────────┘
 co_date的值所代表的日期格式是:
 0 月日年 1日月年 2 年月日
 co_currstrle的值所代表的货币显示方式是
 0 货币符号在数值前,中间无空格
 1 货币符号在数值后,中间无空格
 2 货币符号在数值前,中间有空格
 3 货币符号在数值后,中间有空格

这些函数,mem…系列的所有成员均操作存贮数组.在所有这些函数中,数组是n字节长.

memcpy从source复制一个n字节的块到destin.如果源块和目标块重迭,则选择复制方向,

以例正确地复制覆盖的字节.

memset将s的所有字节置于字节ch中.s数组的长度由n给出.

memcmp比较正好是n字节长的两个字符串s1和s2.些函数按无符号字符比较字节,因此,

memicmp比较s1和s2的前n个字节,不管字符大写或小写.

memchr对字符ch检索s数组的前n个字节.

├─若s1=s2返回值等于0 memccpy若复制了ch,则返回直接跟随ch的在destin中的字节的一个指针; memchr返回在s中首先出现ch的一个指针;如果在s数组中不出现ch,就返回NULL.
 本函数从source处复制一块长len字节的数据到destin.若源地址和目标地址字符串
 重迭,则选择复制方向,以便正确的复制数据.
 本函数把addr所指的块的第一个字节置于字节value中.

str…字符串操作函数

 将字符串src添加到dest末尾
 检索并返回字符c在字符串s中第一次出现的位置
 比较字符串s1与s2的大小,并返回s1-s2
 扫描s1,返回在s1中有,在s2中也有的字符个数
 将字符串s复制到最近建立的单元
 将字符串s中的大写字母全部转换成小写字母,并返回转换后的字符串
 将字符串src中最多maxlen个字符复制到字符串dest中
 比较字符串s1与s2中的前maxlen个字符
 比较字符串s1与s2中的前maxlen个字符
 将字符串s的前n个字符置于ch中
 扫描字符串s1,并返回在s1和s2中均有的字符个数
 扫描最后出现一个给定字符c的一个字符串s
 将字符串s中的字符全部颠倒顺序重新排列,并返回排列后的字符串
 将一个字符串s中的所有字符置于一个给定的字符ch
 扫描字符串s1,并返回在s1和s2中均有的字符个数
 扫描字符串s2,并返回第一次出现s1的位置
 检索字符串s1,该字符串s1是由字符串s2中定义的定界符所分隔
 将字符串s中的小写字母全部转换成大写字母,并返回转换后的字符串
 size为分配内存大小,seg为分配后的内存指针
 seg为已分配内存的内存指针,newsize为新的长度
 本函数用来改变分配给调用程序的数据段的空间数量,新的空间结束地址为endds
 本函数用来增加分配给调用程序的数据段的空间数量,增加incr个字节的空间
 并返回所分配内存的指针
 存区域的指针,newsize为新的长度,返回分配好的内存指针.

long farcoreleft()本函数返回远堆中未用的存储区的长度,以字节为单位

 从远堆分配units个长度为unitsz的内存空间,并返回所分配内存的指针
 所要释放的远堆内存的指针为block
 存的大小,block为已分配有内存区域的指针,newzie为新的长度,返回分配好

在时间日期函数里,主要用到的结构有以下几个:

总时间日期贮存结构tm

┌──────────────────────┐

└──────────────────────┘

┌───────────────┐

└───────────────┘

┌────────────────┐

└────────────────┘

 本函数把clock所指的时间(如由函数time返回的时间)转换成下列格式的
 本函数把指定的tm结构类的时间转换成下列格式的字符串:
 计算结构time2和time1之间的时间差距(以秒为单位)
 转换成格林威治时间,并以tm结构形式返回
 转换成当地标准时间,并以tm结构形式返回
 本函数将dateptr所指的日期,timeptr所指的时间转换成UNIX格式,并返回
 自格林威治时间1970年1月1日凌晨起到现在的秒数
 本函数将自格林威治时间1970年1月1日凌晨起到现在的秒数utime转换成

long time(long*tloc)本函数给出自格林威治时间1970年1月1日凌晨至现在所经 过的秒数,并将该值存于tloc所指的单元中.

}

我要回帖

更多关于 wps如何让序号重新排序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信