0、各个工具的驱动下载目录
1) NVIDIA Geforce Game Ready
C:\ProgramData\NVIDIA Corporation\Downloader\
2) DELL SupportAssist
C:\ProgramData\Dell\UpdateService\Downloads\
1、正则表达式
a) 排除某些字符
下面是一则GNSS(全球导航卫星系统,Global Navigation Satellite System)消息的格式范例:
$GNGGA,025754.00,4004.74102107,N,11614.19532779,E,1,18,0.7,63.3224,M,-9.7848,M,00,0000*58
以$开头,以*加两位16进制校验和结尾,中间可能包括从大小写字母到[,.]的一系列字符,但是不包括$*,则正则表达式如下:
\$[^$*]+\*[A-Fa-f0-9]{2}
其中[^$*]+表示除了$或*的其它一切字符并且至少有1个
b) 排除某字符
?!pattern 称为零宽负向先行断言(与此相对,?<!pattern称为零宽负向后行断言),匹配与pattern表达式不同的字符串(非pattern字符串);因为断言不占位,因此需要后面一个 . 符号占位在原位置匹配任意字符(假如没有此符号则会直接排除掉非pattern字符串而非进行匹配),(\s)* 表示匹配任意数量空白字符,括号括起来外面一个+号表示重复一次或多次。
下面是一个应用的例子:
{0}(\s)*((?!{0}).(\s)*)+
{0}替换为 0[1-8]\s00\s00\s06\s[0-7]0aA{8},匹配的是前面匹配此表达式、后面不匹配此表达式的字符串。
c) 次数匹配相关符号
符号 | 功能 |
---|---|
{0,2}、{5,}、{3} | 逗号前面次数到逗号后面次数 |
?、?? | 0次或1次 |
* | 0次以上,即0~n |
+ | 1次以上,即1~n |
2、Oracle 中的滚动统计
1) 计算之前所有行到当前行的总和
select t.*, sum(t.numb) over (order by t.ind rows between unbounded preceding and current row) su from (
select 1 ind, 1 numb from dual
union all
select 2 ind, 3 numb from dual
union all
select 3 ind, 5 numb from dual
union all
select 4 ind, 7 numb from dual
union all
select 5 ind, 9 numb from dual) t
2) 计算当前行到当前行前若干行的总和
当前行向前2行到当前行的和
select t.*, sum(t.numb) over (order by t.ind rows between 2 preceding and current row) su from (
select 1 ind, 1 numb from dual
union all
select 2 ind, 3 numb from dual
union all
select 3 ind, 5 numb from dual
union all
select 4 ind, 7 numb from dual
union all
select 5 ind, 9 numb from dual) t
3、Windows Server 2012 R2 安装.Net Framework 3.5(包含.Net 2.0, .Net 3.0)
首先进入服务器管理器首页,选择“添加角色和功能”
接下来需要找到对应Windows Server 2012版本的安装镜像,装载后找到文件夹 X:\sources\sxs,将sxs文件夹的路径填入下图的文本框中,点击确定,接着进行安装
4、自动化中的数据类型
数据类型 | 类型说明 |
---|---|
VT_EMPTY | Not specified. |
VT_NULL | Null. |
VT_I2 | A 2-byte integer (short). |
VT_I4 | A 4-byte integer (int). |
VT_R4 | A 4-byte real (float). |
VT_R8 | An 8-byte real (double). |
VT_CY | Currency. |
VT_DATE | A date. |
VT_BSTR | A string. |
VT_DISPATCH | An?IDispatch?pointer. |
VT_ERROR | An SCODE value. |
VT_BOOL | A Boolean value. True is -1 and false is 0. |
VT_VARIANT | A variant pointer. |
VT_UNKNOWN | An?IUnknown?pointer. |
VT_DECIMAL | A 16-byte fixed-pointer value. |
VT_I1 | A character. |
VT_UI1 | An unsigned character. |
VT_UI2 | An unsigned short. |
VT_UI4 | An unsigned long. |
VT_I8 | A 64-bit integer. |
VT_UI8 | A 64-bit unsigned integer. |
VT_INT | An integer. |
VT_UINT | An unsigned integer. |
VT_VOID | A C-style void. |
VT_HRESULT | An HRESULT value. |
VT_PTR | A pointer type. |
VT_SAFEARRAY | A safe array. Use VT_ARRAY in VARIANT. |
VT_CARRAY | A C-style array. |
VT_USERDEFINED | A user-defined type. |
VT_LPSTR | A null-terminated string. |
VT_LPWSTR | A wide null-terminated string. |
VT_RECORD | A user-defined type. |
VT_INT_PTR | A signed machine register size width. |
VT_UINT_PTR | An unsigned machine register size width. |
VT_FILETIME | A?FILETIME?value. |
VT_BLOB | Length-prefixed bytes. |
VT_STREAM | The name of the stream follows. |
VT_STORAGE | The name of the storage follows. |
VT_STREAMED_OBJECT | The stream contains an object. |
VT_STORED_OBJECT | The storage contains an object. |
VT_BLOB_OBJECT | The blob contains an object. |
VT_CF | A clipboard format. |
VT_CLSID | A class ID. |
VT_VERSIONED_STREAM | A stream with a GUID version. |
VT_BSTR_BLOB | Reserved. |
VT_VECTOR | A simple counted array. |
VT_ARRAY | A SAFEARRAY pointer. |
VT_BYREF | A void pointer for local use. |
5、<<与>>操作符(左移,右移)
1) <<左移操作符
将第一个操作数向左移动第二个操作数指定的位数,空出的位置补0。
左移相当于乘。左移一位相当于乘2;左移两位相当于乘4;左移三位相当于乘8。
如:
x<<1= x*2
x<<2= x*4
x<<3= x*8
x<<4= x*16
2) >>右移操作符
右移位运算符(>>)是把数向右移位,其作用是所有的位都向右移动指定的次数
右移相当于除。右移一位相当于除2;左移两位相当于除以4;左移三位相当于除以8。然后取其整数
如:
x>>1= x/2取整
x>>2= x/4取整
x>>3= x/8取整
x>>4= x/16取整
6、Sqlite中当地当前时间的表达式
select datetime('now', 'localtime')
7、Sqlite3表自增id
注意类型只能为integer,不可以是int或int64,是否可为空无所谓,然后如下图添加primary key(On Conflict是否设置无所谓)
8、设置FTP服务器
1) 安装IIS
打开【控制面板】=>【程序和功能】=>【启用或关闭 windows 功能】,在弹出的窗口中,勾选【Internet Information Services】下面的【FTP服务器】三个选项,以及【Web管理工具】下的所有选项,点击【确定】按钮完成安装
2) 进入IIS管理器
打开【控制面板】=>【管理工具】=>【Internet Information Services(IIS)管理器】
3) 添加FTP站点
在打开的IIS管理界面,鼠标右键点击【网站】,选择右键菜单【添加 FTP 站点】
4) 物理路径
在【添加 FTP 站点】窗口中,输入站点名称,选择文件存放的物理路径,点击【下一步】按钮
5) SSL
在【绑定和 SSL 设置】界面,选择当前配置的服务器ip地址,端口号默认21,可以修改。此处SSL部分勾选了【无 SSL】,可根据实际需要选择
6) 身份验证
在【身份验证和授权信息】界面,禁用【匿名】,勾选【基本】、【所有用户】、【读取】、【写入】,点击【完成】按钮
7) 浏览方式
在这之后可以使用服务器的用户名密码登录FTP服务器,使用【ftp://ip地址:端口】在浏览器或者文件夹地址栏中输入运行。如果端口是默认的21,可以省略,否则,端口号不能省略
8) 关闭FTP日志功能
推荐关闭FTP的日志功能,否则日积月累的日志文件会将磁盘堆满。
操作方法如下图所示。
9、FTP服务器的防火墙设置
1) 允许svchost通过
2) 在防火墙高级设置中添加对应的连接/数据端口
3) IIS管理器中设置FTP服务器防火墙数据通道端口范围
10、获取CMD文件所在路径的相关命令
@echo off
echo 当前盘符:%~d0
echo 当前盘符和路径:%~dp0
echo 当前批处理全路径:%~f0
echo 当前盘符和路径的短文件名格式:%~sdp0
echo 当前CMD默认目录:%cd%
pause
目录中有空格也可以加入""避免找不到路径,例如
echo 当前盘符:"%~d0"
一个例子:
set current_path="%~dp0"
xcopy "%current_path%\folder\file.txt" "C:\Examples\temp" /y/r
11、配置远程管理卡
1) 控制面板打开Java面板
2) 编辑站点列表
编辑站点列表,加入远程管理卡IP,例如https://192.168.1.15
3) 访问远程管理卡
用IE或其它浏览器打开这个地址
4) 登录
5) 打开服务器电源
12、华为S5730交换机配置
1) 登录管理页面
网线连交换机ETH口,在网页浏览器访问地址192.168.0.1,或者访问每个电口/光口网段的网关地址(保证机器所在地址在这个网段内),输入用户名密码登录
2) 添加VLANID与VLANTAG
选择“配置”标签页,找到“基本业务管理”>“VLAN”>“VLAN”标签页>“新建”
如下图配置,点击“确定”
3) 配置终端所属VLAN
选择“配置”标签页,找到“基本业务管理”>“接口配置”>“自定义配置”,选择要修改配置的电口或光口
修改网段VLAN并提交
13、Win10管理员用户提升权限
1. 打开计算机管理
2. 在提升权限的用户上右键点击属性
3. 添加所隶属的用户组
添加所隶属的用户组“System Managed Accounts Group”,点击“检查名称”,点击确定
4. 设置完成后重启电脑
重启完成提升权限后,有些应用程序运行时将不再出现UAC用户权限确认对话框。
14、命令行添加防火墙例外
netsh advfirewall firewall Add rule name=\"命令行Web访问8080\" dir=in protocol=tcp localport=7070 action=allow
以管理员方式运行命令提示符,然后运行
15、EXCEL中的RAND()函数
说明
RAND 返回了一个大于等于 0 且小于 1 的平均分布的随机实数。 每次计算工作表时都会返回一个新的随机实数。
注意:自 Excel 2010 起,Excel 使用马特赛特旋转演算法 (MT19937) 来生成随机数。
语法
RAND 函数语法没有参数。
备注
- 若要生成 a 与 b 之间的随机实数,请使用:
=RAND()*(b-a)+a
- 若要使用函数 RAND 生成一个随机数,但不希望每次计算单元格时数字都出现变化,可在编辑栏中输入 =RAND(),然后按 F9 将公式更改为随机数。 公式将进行计算,并仅保留一个值。
示例
复制下表中的示例数据,然后将其粘贴到新的 Excel 工作表的 A1 单元格中。 要使公式显示结果,请选中它们,按 F2,然后按 Enter。 如果需要,可以调整列宽以查看所有数据。
公式 | 说明 | 结果 |
---|---|---|
=RAND() | 大于或等于 0 且小于 1 的随机数 | 变量 |
=RAND()*100 | 大于或等于 0 且小于 100 的随机数 | 变量 |
=INT(RAND()*100) | 大于或等于 0 且小于 100 的随机全数 | 变量 |
注意: 当通过在不同单元格中输入公式或数据或手动重新计算 (按 F9) 重新计算工作表时,将针对使用 RAND 函数的任何公式生成新的随机数。 |
16、Sqlite函数以及应用
1) 取出IP地址字符串最后一位数字,加上一个固定数字,并拼接进另外的字符串中
update t_base_radar_info set
ip_address = '192.168.1.' || (cast(substr(ip_address, length(ip_address), 1) as decimal) + 16)
2) length
取字符串长度
3) substr(string string,num start,num length)
string为源字符串
start为起始位置,字符串的第一个字符的位置为1,不是从0开始计算
length为长度
4) 字符串拼接
用 || 拼接字符串
5) 数字相加
SELECT 'A'+'B' 结果为0
SELECT "A"+"1" 结果为1
SELECT "A"+1 结果为1
SELECT 2+1 结果为3
在“+”运算中,SQLite将字符串非数字串均当作0处理
6) 其它操作符
符号 | 说明 |
---|---|
|| | String Concatenation |
* | Arithmetic Multiply |
/ | Arithmetic Divide |
% | Arithmetic Modulus |
+ | Arithmetic Add |
– | Arithmetic Subtract |
<< | Bitwise Right shift |
>> | Bitwise Left shift |
& | Logical And |
| | Logical Or |
< | Relational Less than |
<= | Relational Less than or equal to |
> | Relational Greater than |
>= | Relational Greater than or equal to |
= | Relational Equal to |
== | Relational Equal to |
<> | Relational Not equal to |
!= | Relational Not equal to |
IN | Logical In |
AND | Logical And |
OR | Logical Or |
LIKE | Relational String matching |
GLOB | Relational Filename matching |
17、EXCEL行转列示例
1、TRANSPOSE函数
2、快速填充
将选择框拉到末尾,进行快速填充
3、根据条件删除行
根据行编号取余数,仅保留每4行的第1行
18、游戏安装过程中出现Unarc.dll向磁盘写入数据错误
关闭杀毒软件(如360等)然后重试
19、EXCEL判断单元格是否包含特定字符串,然后修改字符串
1、判断是否包含特定字符串
使用以下公式
=ISNUMBER(FIND("计量", A1))
假如包含指定字符串将返回TRUE,否则返回FALSE
2、替换字符串
=SUBSTITUTE(A1,"计量","")
20、CMD下TELNET命令的退出方法
在TELNET连接成功后可使用CTRL+]键,这时会强制退到telnet命令界面下,再用quit命令退出
21、使用VBScript脚本向桌面或启动文件夹发送快捷方式
Rem 以下为VbScript脚本
set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop") :'特殊文件夹“桌面”
strStartup = WshShell.SpecialFolders("Startup") :'特殊文件夹“启动”
Set fso = CreateObject("Scripting.FileSystemObject")
strCurPath = fso.GetFolder(".") :'获取脚本的所在路径
strTargetPath = strCurPath & "\ProcessMonitorService\bin\Debug\ProcessMonitorService.exe" :'拼接字符串获取目标的路径
Rem Msgbox strCurPath
Rem msgbox strTargetPath
Rem 在桌面创建一个进程监测快捷方式
set oShellLink = WshShell.CreateShortcut(strDesktop & "\进程监测.lnk")
oShellLink.TargetPath = strTargetPath : '目标
oShellLink.WindowStyle = 1 :'参数1默认窗口激活,参数3最大化激活,参数7最小化
Rem oShellLink.Hotkey = "Ctrl+Alt+e" : '快捷键
Rem oShellLink.IconLocation : '图标
oShellLink.Description = "进程监测快捷方式" : '备注
oShellLink.WorkingDirectory = strDesktop : '起始位置
oShellLink.Save : '创建保存快捷方式
Rem 在启动目录创建一个进程监测快捷方式
':将strDesktop换为strStartup即可
22、查询发送弹幕的用户ID
访问地址 https://api.bilibili.com/x/player/pagelist?aid={aid}&jsonp=jsonp
其中{aid}就是刚刚查到的aid,访问之后可得到一串json字符串,如下所示
{"code":0,"message":"0","ttl":1,"data":[{"cid":980269880,"page":1,"from":"vupload","part":"【硬核爆】喷赞三体动画制作精美第7第8集 PLUS","duration":558,"vid":"","weblink":"","dimension":{"width":1920,"height":1080,"rotate":0},"first_frame":"http://i0.hdslb.com/bfs/storyff/n230126a217shps7qucn18g1x8amqqsp_firsti.jpg"}]}
找到其中的cid元素,在这个例子中是980269880
访问地址 https://api.bilibili.com/x/v1/dm/list.so?oid={cid} 以查看弹幕访问请求的内容
或直接加载弹幕静态资源 http://comment.bilibili.com/{cid}.xml
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<i>
<chatserver>chat.bilibili.com</chatserver>
<chatid>980269880</chatid>
<mission>0</mission>
<maxlimit>1000</maxlimit>
<state>0</state>
<real_name>0</real_name>
<source>k-v</source>
<d p="505.99400,5,25,41194,1674832806,0,93f09d31,1239346423552691456,10">清华的</d>
<d p="554.41200,1,25,16777215,1674832575,0,c2d8541b,1239344484895397120,10">这剧本还要怎么低走</d>
...
</i>
得到弹幕的访问请求内容后在其中找到hash后的用户UID(hash算法为crc32),如上面的93f09d31
访问这个开源项目 Aruelius/crc32-crack: 把B站弹幕接口里的 "mid_hash" 反查为用户真实UID (github.com)
运行python文件以反向破解用户UID
python run.py 93f09d31
UID计算结果为296067181,下一步验证结果,访问 https://space.bilibili.com/{uid}
23、SQLite创建触发器
CREATE TRIGGER trigger_name
AFTER UPDATE OF id ON table_1
FOR EACH ROW
WHEN new.id>30
BEGIN
UPDATE table_2 SET id=new.id WHERE table_2.id=old.id;
END