安装AWCC提示错误1603 错误应用程序名称:svchost.exe_ClipSVC 错误模块名称:pidgenx.dll 异常代码:0xc0000409

都是 KB5013942 惹的祸

笔记本是 Dell G15 ,用的 AWCC (Alienware-Command-Center) 对电脑性能进行管理,在五月更新之前,玩游戏开启 G模式 ,都正常,在 5月中旬 更新完系统补丁后,发现一些奇奇怪怪的问题,

  • AWCC 更新后无法打开,无法通过 Fn+F9 开启高性能G模式
  • 因为玩游戏不开 G模式,游戏性能会有影响,于是直接重装了系统 windows 1909版本,安装awcc (Alienware-Command-Center-Application) 是正常的,
  • 使用最新 Windows10 安装 AWCC 提示 错误1603

首先、确定 AWCC 受新系统影响,

  • 在1909系统上安装了awcc 可以正常使用,
  • 更新系统补丁,不更新awcc 能正常使用,
  • 当更新系统补丁,并且更新awcc后,awcc 无法正常使用
  • 卸载重装 awcc 也无用,依旧提示 错误1603
  • 找了dell售后技术,无果,于是乎,只能靠自己了

打开系统的 事件查看器
在应用日志中看到如下错误

错误应用程序名称: svchost.exe_ClipSVC,版本: 10.0.19041.1566,时间戳: 0x1f37eb46
错误模块名称: pidgenx.dll,版本: 10.0.19041.1682,时间戳: 0x3388ed7b
异常代码: 0xc0000409
错误偏移量: 0x00000000000187ea
错误进程 ID: 0x2c8c
错误应用程序启动时间: 0x01d87681dd42bc0a
错误应用程序路径: C:\WINDOWS\System32\svchost.exe
错误模块路径: C:\WINDOWS\system32\pidgenx.dll
报告 ID: 1d8ac81f-e588-4048-b841-e1d6fe1e85da
错误程序包全名: 
错误程序包相对应用程序 ID: 

经过查询,发现可能是和补丁KB5013942有关,这个补丁是微软 2022年5月发布,正好和故障时间吻合,

于是卸载掉这一个更新,等待系统自动重启之后,重新安装 AWCC 未报错,接着安装 Alienware-OC-Controls ,
至此, 恢复正常,又可以愉快的玩游戏了

Linux自动保存Bing每日美图并设为桌面背景

主目录新建一个文件夹 BingWallpapers ,存放壁纸

mkdir /root/BingWallpapers

桌面空白处右键 —— 桌面设置 —— 壁纸 设置为刚才设置的目录

编写一个脚本文件,存为

/root/bing/bing.sh

#!/bin/bash
sleep 10
url=`curl -s "http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1" |  cut -d '"' -f 18`
bingurl=https://cn.bing.com$url
filename=`date -u +"%Y-%m-%d"`
wget -q $bingurl -O /root/BingWallpapers/$filename.jpg
exit

通过 crontab -e 添加一个任务

@reboot /root/bing/bing.sh

下次开机 10秒后 会从bing下载每日美图,并保存文件名为当前日期

分享个 QQ空间相册批量导出原图 插件

有时候需要 批量下载 自己或者好友 QQ空间 的 高清原图,一个个下载导出原图会比较慢,这里分享一个浏览器插件,可以很方便的 批量下载 QQ空间 的图片,极大的提高了工作效率,
下面是项目地址,安装和用法都写得很详细

项目地址

https://github.com/ShunCai/QZoneExport

在线安装
安装好后 点击 右上角 类似 QQ空间图标 那个扩展 然后勾选自己要保存的内容,开始下载即可

file

Windows通过bat批处理脚本自动配置IP地址

有时候会遇到上班地方的网络需要设置静态IP地址上网,家里的网络是自动获取IP地址上网的,而且两个网络是不一样的,比如家里的是10.0.0.1/24 上班地方的是 192.168.1.1/16 或者/24

每次都要手动设置会比较麻烦,也不容易记,为了方便,可以通过下面的bat脚本进行自动设置IP地址,下载后解压修改相应的地址双击即可使用

点此下载

修改
注意:NAME=以太网 要根据实际情况修改,有的是“以太网 1” 或“以太网 2”


代码:

@echo off
rem 强制获取管理员权限
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
rem //设置变量
set NAME="以太网"
rem //以下属性值可以根据需要更改
set ADDR=192.168.3.6
set MASK=255.255.255.0
set GATEWAY=192.168.3.1
set DNS1=114.114.114.114
set DNS2=223.5.5.5
rem //以上属性依次为IP地址、子网掩码、网关、首选DNS、备用DNS
echo 当前可用操作有:
echo 1 设置为静态IP
echo 2 设置为动态IP
echo 3 退出
echo 请选择后回车:
set /p operate=
if %operate%==1 goto 1
if %operate%==2 goto 2
if %operate%==3 goto 3
:1
echo 正在设置静态IP,请稍等...
rem //可以根据你的需要更改
echo IP地址 = %ADDR%
echo 掩码 = %MASK%
echo 网关 = %GATEWAY%
netsh interface ipv4 set address name=%NAME% static addr=%ADDR% mask=%MASK% gateway=%GATEWAY% >nul
echo 首选DNS = %DNS1%
netsh interface ip set dns name=%NAME% source=static addr=%DNS1% register=PRIMARY >nul
echo 备用DNS = %DNS2%
netsh interface ipv4 add dns name=%NAME% addr=%DNS2% >nul
echo **********已设置为静态IP:%ADDR%***********
timeout /t 5
exit
:2
echo 正在设置动态IP,请稍等...
echo 正在从DHCP自动获取IP地址...
netsh interface ip set address %NAME% dhcp
echo 正在从DHCP自动获取DNS地址...
netsh interface ip set dns %NAME% dhcp
echo **********已设置为动态IP地址***********
timeout /t 5
exit
:3
exit

使用:

保存的时候选择ANSI编码
ansi
编辑好后双击打开

1,设置静态IP,2,设置dhcp自动获取IP,3,退出

  1. 设置静态IP
    设置静态IP
  2. dhcp设置动态获取IP
    DHCP获取IP

推荐浏览器广告屏蔽插件AdBlocker Ultimate

对比了adblock plus 和uBlock Origin等多款广告屏蔽插件,对于屏蔽很多自定义广告AdBlocker Ultimate 的自定义更方便,其他两款面对广告也很强大

AdBlocker Ultimate插件    下载地址

uBlock Origin    下载地址

adblock plus    下载地址 

 

AdBlocker Ultimate自定义屏蔽网页元素用法

下面以屏蔽百度右边的推荐和热搜为例

IIS网站ftp用户磁盘配额查看与修改

查看磁盘配额比较简单,进入网站所在磁盘,然后右键——选择属性——配额——之后会列出所有ftp用户的空间配额,我们便可以查看和修改

有时候会遇到用户较多列出ftp用户名很慢的情况,这个时候可以通过查询用户sid来定位,

如下图可以看到登录名只列出了sid,列出ftp用户名较慢

 

这个时候我们可以通过下面的命令来查询对应用户的磁盘配额

fsutil.exe quota query D: > 1.txt

打开1.txt然后搜索对应用户名即可找到对应的配额,

有时候我们想在上面配额中进行修改,但是ftp显示的慢,我们可以通过sid来定位用户

wmic useraccount get name,sid |findstr ftp用户名

举个例子查看Guest的sid

查找到对应的sid以后,对配额那个进行下排序,即可很快找到对应的用户

shell数值、字符串比较

整数比较
-eq       等于,如:if [ "$a" -eq "$b" ]
-ne       不等于,如:if [ "$a" -ne "$b" ]
-gt       大于,如:if [ "$a" -gt "$b" ]
-ge       大于等于,如:if [ "$a" -ge "$b" ]
-lt       小于,如:if [ "$a" -lt "$b" ]
-le       小于等于,如:if [ "$a" -le "$b" ]
<       小于(需要双括号),如:(("$a" < "$b"))
<=       小于等于(需要双括号),如:(("$a" <= "$b"))
>       大于(需要双括号),如:(("$a" > "$b"))
>=       大于等于(需要双括号),如:(("$a" >= "$b"))
字符串比较
=       等于,如:if [ "$a" = "$b" ]
==       等于,如:if [ "$a" == "$b" ],与=等价
       注意:==的功能在[[]]和[]中的行为是不同的,如下:
       1 [[ $a == z* ]]    # 如果$a以"z"开头(模式匹配)那么将为true
       2 [[ $a == "z*" ]] # 如果$a等于z*(字符匹配),那么结果为true
       3 [ $a == z* ]      # File globbing 和word splitting将会发生
       4 [ "$a" == "z*" ] # 如果$a等于z*(字符匹配),那么结果为true
       一点解释,关于File globbing是一种关于文件的速记法,比如"*.c"就是,再如~也是.
       但是file globbing并不是严格的正则表达式,虽然绝大多数情况下结构比较像.
!=       不等于,如:if [ "$a" != "$b" ]
       这个操作符将在[[]]结构中使用模式匹配.
<       小于,在ASCII字母顺序下.如:
       if [[ "$a" < "$b" ]]
       if [ "$a" \< "$b" ]
       注意:在[]结构中"<"需要被转义.
>       大于,在ASCII字母顺序下.如:
       if [[ "$a" > "$b" ]]
       if [ "$a" \> "$b" ]
       注意:在[]结构中">"需要被转义.
       具体参考Example 26-11来查看这个操作符应用的例子.
-z       字符串为"null".就是长度为0.
-n       字符串不为"null"
       注意:
       使用-n在[]结构中测试必须要用""把变量引起来.使用一个未被""的字符串来使用! -z
       或者就是未用""引用的字符串本身,放到[]结构中。虽然一般情况下可
       以工作,但这是不安全的.习惯于使用""来测试字符串是一种好习惯.
SHELL下的数字比较及计算举例
比较:
方法一: if [ ${A} -lt ${B} ]; then ...
这是最基本的比较方法,使用lt(小于),gt(大于),le(小于等于),ge(大于等于),优点:还没发现;缺点:只能比较整数,使用lt,gt等不直观
方法二: if ((${A} < ${B})) then ...
这是CShell风格比较,优点:不用使用lt,gt等难记的字符串;缺点:还是只能比较整数
方法三: if (echo ${A} ${B} | awk '!($1>$2){exit 1}') then ...
这是使用awk比较,优点:可以比较小数;缺点:表达式太复杂,难记
方法四: if (echo ${A} - ${B} | bc -q | grep -q "^-"); then ...
这是使用bc计算比较,优点:可以比较小数;缺点:表达式更复杂,难记
计算:
方法一:typeset C=$(expr ${A} + ${B});
SHELL中的基本工具,优点:方便检测变量是否为数字;缺点:只能计算整数,且只能计算加减法,不能计算乘除法
方法二:let "C=${A}+${B}"; 或 let "C=A+B"
内嵌命令计算,优点:能计算乘除法及位运算等;缺点:只能计算整数
方法三:typeset C=$((A+B))
CShell风格的计算,优点:能计算乘除法及位运算等,简介,编写方便;缺点:不能计算小数
方法四:typeset C=${echo ${A} ${B} | awk '{print $1+$2}')
使用awk计算,优点:能计算小数,可以实现多种计算方式,计算灵活;缺点:表达式太复杂
方法五:typeset C=${echo ${A} + ${B} | bc -q)
使用awk计算,优点:能计算小数,计算方式比awk还多,计算灵活;缺点:表达式太复杂,小数点后面的位数必须使用scale=N来设置,否则可能会将结果截断为整数

Linux与Windows换行符区别与转换(\r\n => \n)

有时候从Windows把文本复制到Linux下面,直接运行脚本从Windows文本取内容会出错,排除脚本错误,很大部分是因为不同系统处理换行不一致导致,所以需要把Windows文本经过转换

换行区别

windows 换行为        \r\n

linux        换行为         \n

使用cat -A 文件, 可以查看文本隐藏的符号

Windows 文件行尾隐藏符号为 ^M$

Linux       文件行尾隐藏符号为     $

Linux下使用如下命令进行文件转换windows.txt文件并另存为linux.txt文件

tr -d "\r" < windows.txt > linux.txt