Wednesday, 30. September 2009, 09:20:51
PHP, WINDOWS
1. 下载 WampServer
网址:
http://www.wampserver.com/en/download.php2. 安装 WampServer
Windows 的标准安装步骤,连续点“下一步”即可。
3. 下载 Xdebug
网址:
http://xdebug.org/download.php页面上有好几个版本,刚开始一定会被迷惑,不知道该用哪个版本。
经过试验,我的环境(Windows XP)最终能用的是 5.3 VC6 (32 bit)。
(Apache 以外的服务器需用 nts 版本)
下载之后把文件移动(或复制)到 WampServer 的 php 的 ext 目录。
4. 编辑 php.ini
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
追加以下内容:
extension=php_xdebug-2.0.5-5.3-vc6.dll
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
追加以下内容:
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
5. 重新启动 WampServer 的 apache。
Monday, 22. June 2009, 07:31:25
WINDOWS, Editor
Notepad2 很小巧,然而功能强大,和 Windows 自带的 Notepad 相比,说有天壤之别也不为过。
网上有不少文章介绍如何把 Windows 的 Notepad 换成 Notepad2,步骤都比较复杂,而且成功率不高,尤其是 XP SP2 以后的版本。
经我验证,
这个网页上介绍的方法比较好使。方法是在 Notepad2 的文件夹内做一个批处理文件,然后执行。原文介绍的批处理如下(注释已译):
@echo 替换 NOTEPAD.EXE 为 notepad2.EXE ...
REM
REM 1. 阻止系统自动恢复文件
attrib -r -h -s %systemroot%\system32\dllcache
del %systemroot%\system32\dllcache\notepad.bak.exe
ren %systemroot%\system32\dllcache\notepad.exe notepad.bak.exe
attrib +r +h +s %systemroot%\system32\dllcache
attrib -r -h -s %systemroot%\ServicePackFiles\i386
del %systemroot%\ServicePackFiles\i386\notepad.bak.exe
ren %systemroot%\ServicePackFiles\i386\notepad.exe notepad.bak.exe
attrib +r +h +s %systemroot%\ServicePackFiles\i386
REM
REM 2. 备份 Windows 和 System32中 的 Notepad
del %systemroot%\system32\notepad.bak.exe
copy %systemroot%\system32\notepad.exe %systemroot%\system32\notepad.bak.exe
copy %systemroot%\notepad.exe %systemroot%\notepad.bak.exe
REM
REM 3. 拷贝 notepad2 并覆盖 Windows 和 System32中 的 Notepad
del %systemroot%\notepad.exe
copy notepad2.exe %systemroot%\notepad.exe
copy notepad2.exe %systemroot%\system32\notepad.exe
REM
@echo 替换完成。
@echo
@echo 注: 如果 Windows 文件保护的对话框弹出,请按“取消”。
Wednesday, 25. March 2009, 00:12:51
WINDOWS, TOOL, Batch
偶然在网上发现的批处理脚本,感觉有用且会常用,所以贴一个在这儿。
@echo off
echo 正在清除垃圾文件,请稍等...
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*._mp
del /f /s /q %systemdrive%\*.log
del /f /s /q %systemdrive%\*.gid
del /f /s /q %systemdrive%\*.chk
del /f /s /q %systemdrive%\*.old
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
del /f /q %userprofile%\cookies\*.*
del /f /q %userprofile%\recent\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
echo 垃圾文件清除完毕!
echo. & pause
Friday, 25. July 2008, 10:39:58
WINDOWS, VBSCript
代码如下:
Dim Shell, FSO, objRootFolder
Set Shell = WScript.CreateObject("Shell.Application")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set objRootFolder = FSO.getFolder(Shell.BrowseForFolder(0, "请选择文件夹。注意:所选文件夹以下的 Thumbs.db 文件将被全部删除!", &h11))
If deleteFilesByName(objRootFolder, "Thumbs.db") Then
MsgBox RootDir + "以下的所有 Thumbs.db 文件已被删除!"
Else
MsgBox "发生错误!"
End If
'根据文件名删除文件的递归函数
Function deleteFilesByName(objRootFolder, strName)
If (objRootFolder is Nothing) Then
deleteFilesByName = False
Exit Function
End If
Dim objFolder, objFile
For Each objFile in objRootFolder.files
If objFile.Name = strName Then
objFile.Delete True
End if
Next
For Each objFolder In objRootFolder.SubFolders
deleteFilesByName objFolder, strName
Next
deleteFilesByName = true
End Function
Tuesday, 1. April 2008, 01:34:32
Windbg, Minidump, WINDOWS
用 WinDbg 分析和排除 Windows 系统故障
最近工作用的电脑频繁出故障,出现系统突然崩溃,重启动的时候总是检查磁盘等现象。从现象上看,似乎是磁盘出了问题,因为这台电脑已经用了四年以上,磁盘老化要报废也在情理之中。
上周末清理了一下电脑,并装上XP SP3 (RC2版),之后,系统好像稳定了一些,可还是有错误发生。在还没有确认硬盘报废之前,我觉得还是该查找和修复系统错误,于是在网上查找相关信息。
在系统目录下发现了一个叫 Minidump 的目录,下面有一些后缀是 .dmp 的文件:
2008/03/21 22:20 90,112 Mini032108-01.dmp
2008/03/26 17:44 90,112 Mini032608-01.dmp
2008/03/27 09:21 90,112 Mini032708-01.dmp
2008/03/27 09:22 90,112 Mini032708-02.dmp
2008/03/27 09:23 90,112 Mini032708-03.dmp
2008/03/27 09:51 90,112 Mini032708-04.dmp
2008/03/27 10:28 90,112 Mini032708-05.dmp
2008/03/28 13:39 90,112 Mini032808-01.dmp
2008/03/28 13:42 90,112 Mini032808-02.dmp
2008/03/28 13:43 90,112 Mini032808-03.dmp
2008/03/28 18:42 90,112 Mini032808-04.dmp
2008/03/31 21:09 90,112 Mini033108-01.dmp
2008/03/31 21:11 90,112 Mini033108-02.dmp经确认,这些是系统出故障时候生成的 Dump 文件。
找到一篇文章《
How to solve Windows system crashes in minutes》,教你怎么用
Windbg 来分析Windows 的 Dump 文件。
文章很长,连 Windbg 的安装都介绍了,我只是粗略的看了一下,最后找到两个命令:
!analyze –v
lmv文章主要就是介绍怎样用这两个命令分析 Dump 文件。
启动 Windbg,选择 File -> Open Crash Dump,之后选择一个 Dump 文件,载入,接下来就用命令
!analyze –v 和
lmv 进行分析。
目前发现两个问题,一个由 d347bus.sys (Daemon Toools 的虚拟驱动)引起,另一个由 kmixer.sys (应该是是声卡驱动)引起。
具体的系统错误,目前还在查找分析,也不知道能否修复。以上分析系统错误的方法,以后也有用,因此记录一下。
Monday, 14. August 2006, 02:43:27
Rename, WINDOWS
找到一个免费的批量重命名工具,名叫 Bulk Rename Utility,感觉非常好,想要的功能基本都有了。
这个免费小工具有个专门的网站,地址:
http://www.bulkrenameutility.co.uk/这里是
下载页面。
Thursday, 10. August 2006, 12:42:09
WINDOWS, Rescue
领导的IBM笔记本不能启动了,让我去看一下,原来,XP不能启动,启动时候出消息:
因以下文件的损坏或丢失, Windows无法启动: \Windows\System32\Config\system以前没遇到过这样的怪事,于是在网上查找解决办法。很快就找到,方法如下:
1. 用 XP 的安装盘启动,进入修复模式。 (R = Repair)
2. 备份 \Windows\System32\Config\system
3. 拷贝 \Windows\repair\system 文件到 \Windows\System32\Config\system
4. 重新启动。于是照做,结果,看到XP旗帜飘扬的启动画面,以为就这样解决了。没想到更大的麻烦来了,进入XP系统,就报错:“Lsass.exe出错,需要重设密码...”然后机器自动重启,如此循环往复好几次,没办法,只有再上网查找解决办法。结果是这样:
copy c:\windows\repair\system c:\windows\system32\config\system
copy c:\windows\repair\software c:\windows\system32\config\software
copy c:\windows\repair\sam c:\windows\system32\config\sam
copy c:\windows\repair\security c:\windows\system32\config\security
copy c:\windows\repair\default c:\windows\system32\config\default也就是不能只拷贝 system 文件,还需要拷贝 software、sam、security、default,总共五个文件。当然,拷贝之前要备份。
重新用 XP 的安装盘,进修复模式,这次遇到麻烦事了,需要 Administrator 的密码,输三次不对,就重新启动,每次从 XP 安装盘启动到选择修复模式,都要花很长时间。几次重启,都没能提供正确的 Administrator 密码,这就到了考验人的时候了。
上网找了一下,有不少解决丢失XP管理员密码的办法,下面这个站点提供的几个方法看上去不错:
http://www.petri.co.il/forgot_administrator_password.htm照这个网页的说明,我做了两张CD,一张
EBCD,一张
Austrumi。结果,用这两张CD启动机器,都没能解决问题。EBCD 上提供的修改 Administrator 密码的工具似乎没有正常工作。
最大的问题是,不能正常访问NTFS的文件系统。
没办法,又作了两张CD, 一张
UBCD,一张
WindowsPE 。
(后来看介绍,一个叫
BartPE 的东东似乎更强一些。)
最终起作用的是 WindowsPE,通过光盘启动系统,就能在DOS窗口下任意拷贝文件。拷贝了上述的五个文件之后,XP系统启动成功。
然而,问题并未完全解决,系统重启之后,原来机器的用户设置等,都丢失了。还有一些硬件驱动也要重装,最奇怪的是,居然不能新建网络连接,不过插上网线却能访问网络。
接下来还遇到很多问题,没办法,通过网络,把机器上的数据拷贝到别的机器上,然后用IBM笔记本提供的恢复功能把机器恢复到初始状态。
机器恢复了,我也累坏了。
虽然很累,还是要记录一下这个过程,也许今后还能参考,不过,最好还是不要再遇上同样的系统故障。
Wednesday, 2. August 2006, 11:05:14
WINDOWS, VB
十分简单:
Dim wsh As New WshShell
MsgBox wsh.Exec("hostname").StdOut.ReadAll
* 需要引入“Windows Script Host Object Model”库
Thursday, 29. June 2006, 02:04:49
WINDOWS
为了管理 Windows 的启动程序,找到一个叫 Startup Inspector 的程序,免费,用过之后觉得很好。
Startup Inspector 的下载地址:
http://www.windowsstartup.com/download.php
Thursday, 19. January 2006, 10:43:03
WINDOWS, VBSsript
Option Explicit
Dim ReturnCd, WSH
Set WSH = CreateObject("WScript.Shell")
Dim bWaitOnReturn
bWaitOnReturn= True
ReturnCd = WSH.Run("hostname", 0, bWaitOnReturn)
WScript.Echo ReturnCd
Set WSH = Nothing
WScript.Quit(ReturnCd)
[2008.01.28补充]同时取得进程ID、输出内容、返回值的代码如下:
Dim WSH, ExecObj
Set WSH = CreateObject("WScript.Shell")
Set ExecObj = WSH.Exec("hostname")
WScript.Echo "pid:" & ExecObj.processID
WScript.Echo "stdout: " & ExecObj.StdOut.ReadAll
WScript.Echo "exit: " & ExecObj.exitCode
WScript.Quit(ExecObj.exitCode)
Set ExecObj = Nothing
Set WSH = Nothing
Showing posts 1 -
10 of 12.