perl中对URL地址进行编码

URL中如果有中文的字符,要先对其进行编码才能进行下一步的处理。

  • 用替换方法进行编码:

Url encode:对 \n 不转码
perl -pe 's/([^\w\-\.\@])/$1 eq "\n" ? "\n":sprintf("%%%2.2x",ord($1))/eg' keywords.list

  • 用替换方法进行解码:

Url Decode:
perl -pe 's/%(..)/pack("c", hex($1))/eg' keywords.list

  • 用URI::URL模块进行编码

use URI::URL;
my $str = "http://www.google.com/lxmxn's blog&b=Hello,perl";
my $url = URI::URL->new( $str );
print $url;

  • 用URI::Escape模块进行编码

use URI::Escape;
my $str='北极神话';
print uri_escape($str);

#result:%B1%B1%BC%AB%C9%F1%BB%B0

Posted in Perl | Tagged , , | Leave a comment

PowerShell的小例子

Continue reading

Posted in PowerShell | Leave a comment

Batch Script处理文本文件的局限

在论坛碰到一个问题,大概是用bat来提取一个文本文件中的信息。

提供的文件中有一行特别的长,用cmd的for命令无法读取,最后只能给出利用awk来解决的方案。

 自己又在下面测试了一下,如果文本的某行的字节数超过了8187,for命令就读不出来,这是cmd处理文件的一个局限。(对中文字符没有做测试。)

Posted in Bat/Vbs/Html/... Script | 1 Comment

文件列表附加文件大小

利用了For /R和Tree /F遍历文件的顺序是一定的原理跑出文件结构和及其大小.

由于脚本中用了比较多的findstr、find以及for嵌套,所以跑起来很慢.建议文件比较多的不要用这个来跑。
list_with_size.jpg

List_with_Size.bat
[code]
:: Code by lxmxn @ bbs.cn-dos.net
:: Date 2707-09-26

rem 关闭命令行回显并打开延迟扩展

@echo %bg% off & SetLocal EnableDelayedExpansion

rem 对当前目录及其子目录中的每个文件大小进行索引
set tnum=1
for /r .\ %%a in (*) do (
set "file!tnum!_%%~nxa=%%~za"
set /a tnum+=1
)

rem 处理TREE的输入并显示结果
set tnum=1

echo %cd%
echo ************************************************
for /F "delims=" %%a in ('tree /F^|more +3') do (
echo %%a|findstr /R "├ └" >nul && (
echo\%%a
) || (
echo %%a|findstr /R /C:"^│[ ]*$" >nul 2>nul && (
echo\%%a
) || (
for /f "delims=" %%c in ("%%a") do (
set string=%%c
set string=!string:│=!
for /f "tokens=* delims= " %%d in ("!string!") do set fname=%%d
if not "!fname!"=="" (
call echo\%%a [%%file!tnum!_!fname!%%]
set /a tnum+=1
) else (echo\%%a)
)
)
)
)
[/code]

Posted in Bat/Vbs/Html/... Script | 2 Comments

将文件中的数字按从小到大的顺序排列

主要利用了 Findstr+Sort .

:: lxmxn @ cn-dos.net
:: 15:58 2007-7-28
:: sort numbers in a file
@echo off&Setlocal EnableDelayedExpansion
set sorts=.
>nul copy nul output.txt
For /L %%a in (1,1,10) do (
    findstr "^^!sorts!$" input.txt|sort >> output.txt
    set sorts=!sorts!.
    rem echo !sorts!
)
start notepad output.txt
Posted in Bat/Vbs/Html/... Script | Leave a comment

快速制作自动登录QQ的小脚本

  首先用TM(Tencent Messenger)登录QQ,然后选择TM的 "文件" --> "切换到QQ" ,这样就结束了TM并用QQ登录了你的号码,然后打开cmd,输入WMIC Process Where(NAME='QQ.EXE') GET CommandLine|more +1>AutoQQ.bat,这样就会在当前目录中生成一个名为AutoQQ.bat的批处理文件,编辑这个文件,在前面加上@start "" 这10个字节(包括最后面的空格)的字符,这样,自动登录QQ的小脚本就制作好了.你可以直接运行这个文件来登录你的QQ,也可以把它放在启动文件夹或者注册表的启动项里面,这样就可以开机自动登录你的QQ了.

  (此方法只适合Xp以上的系统使用)

Posted in Bat/Vbs/Html/... Script | 2 Comments

用暴风影音看电影还需要管理员权限?

    前几天在电脑上面新建了一个用户,结果发现用新建的用户登陆之后不能用暴风影音看电影了,感觉很奇怪.
    具体的现象是:打开电影文件时,任务栏出现了暴风影音的图标,但是在桌面却看不见暴风影音的窗口,打开taskmgr.exe也看不到暴风的进程.然后用管理员用户登陆上去,却可以正常的播放,证明暴风影音程序没什么问题.自然想到权限不足,在cmd下输入net localgroup administrators newuser /add之后,再登陆新建的用户,结果能正常看电影了.
    难道用暴风影音看电影真的需要管理员权限?各位如果知道原因的请告知一下,TKS.

Posted in Others | Leave a comment

我的新博客开张啦

昨天把QQ空间关闭了,今天开了这个新博客,庆祝一下,有时间的朋友多来逛哈啊。
以后专心经营这个博客了。

Posted in Announcement | 1 Comment