關於電腦上的知識, 如 Linux, Perl, C/C++, C# …

顯示具有 知識+問題 標籤的文章。 顯示所有文章
顯示具有 知識+問題 標籤的文章。 顯示所有文章

2009年11月22日 星期日

請問如何 批次執行 Notepad的資料修改?

問題來源:

問題內容:
因為工作需要. 每月須要執行45個相同格式的.txt檔(即45次)

檔案由別單位按月提供, 格式為文字檔, 第1列為欄名, 第2列起為資料列約300~500列(不固定列數, 但所有資料皆依時間由小至大排列),

每個檔案每次需要做以下動作
* 保留第1列, 以及檔案最後4列(最近4期資料), 其他列刪除.
* 另存該檔案

請問一下批次檔如何寫? (假設原始檔案 file01.txt, file02.txt, ..., file45.txt)
請教高手..

問題答案:
擔心複製後貼上會出錯?可以直接下載已寫好的檔案,請到這裡下載,(如何下載:請參考這裡)

使用方法:
NextMonth    c:\2009-11   c:\2009-12


[NextMonth.cmd]
@echo off
setLocal ENABLEEXTENSIONS

if $%1$ == $$ goto showUsage
if $%2$ == $$ goto showUsage
if not exist %1 (
dir /b %1
echo.
goto showUsage
)

if not exist %2 md %2

for %%F in (%1\*.txt) do (
head -1 %%F > %2\%%~nxF
tail -4 %%F >> %2\%%~nxF
)

goto end

:showUsage
echo Create Next Month Report
echo =====================================================================================
echo Usage:
echo.
echo %0 [drive:]this_month_report_path [drive:]next_month_report_path
echo.

:end
endlocal

補充說明:
「head.exe」、「tail.exe」原本是 unix 上的指令,現在有善心人士把它們移植到 Windows 平台上,您可以在「NextMonth.zip」中找到,或者到這下載:http://sourceforge.net/projects/unxutils/


XP自動關機設定能每天執行嘛?

問題來源:

問題內容:
請問XP的內建自動關機的那個方法

能夠只設定一次然後每天一到那個時間

就能自動關機嗎?

即使從開機也不用在從新設定關機時間

假如我要每天晚上9:30分關機

應該怎麼設定?

問題答案:
這個問題可以使用排程來解決,首先要先確認您的電腦上的 Task Scheduler 是否有開啟,詳細方法可以參考這裡。

一、開啟檔案總管,到「控制台」→「排定的工作」→於空白處,點擊滑鼠右鍵→「新增」→「排定的工作」
http://img183.yfrog.com/i/001em.png/

二、給這個新排定工作取個名字,如「定時關機」
http://img211.yfrog.com/i/002hh.png/

三、在「定時關機」上,用滑鼠雙擊它,會出現設定畫面,
於「工作」頁籤中,
在「執行」填入「shutdown -f -s -t 60」,這個指令的意思是:「60秒後強制關機」,
在「執行身分」請輸入權限夠大的使用者帳號,
點擊「設定密碼」後,請輸入使用者密碼,
不勾選「登入後才執行」,
勾選「啟用(已排定的工作會在指定時間執行))」。
http://img26.yfrog.com/i/003xg.png/http://img188.imageshack.us/img188/9631/arrow0017.gifhttp://img237.yfrog.com/i/004u.png/

四、於「排程」頁籤中,
在「工作排程」中,選擇「每日」,
在「開始時間」中,輸入您想要關機的時間,
最後點擊「確定」,完成設定。
http://img4.yfrog.com/i/005wb.png/

五、測試是否會在設定的時間自動關機呢?
確定設定正確,在時間到的時候,有執行自動關機。
http://img502.yfrog.com/i/006z.png/

XP自動關機軟體問題~我想幫公司電腦節能減碳

問題來源:

問題內容:
各位大大好,我們公司有六台多人共用電腦平常都是處於開機後待登入狀態的視窗
也就是處於需要按 ctrl+alt+del這三個鍵登入的視窗,這時後系統也沒執行任何程式所以我安裝了一些自動關機系統也無法啟動,需要有使用者登入後執行作業系統才會 跑到關機程式,電腦平時也很少使用常常一開機就到晚,大家公德心又差,想請大大幫忙如何在ctrl+alt+del視窗下當系統要跑螢幕保護程式時能夠順 便執行關機達到節能的目的或者能設定在幾分鐘後關機。

謝謝各位大大^^

問題答案:
這個問題可以使用排程來解決,首先要先確認您的電腦上的 Task Scheduler 是否有開啟,詳細方法可以參考這裡。

一、開啟檔案總管,到「控制台」→「排定的工作」→於空白處,點擊滑鼠右鍵→「新增」→「排定的工作」
http://img183.yfrog.com/i/001em.png/

二、給這個新排定工作取個名字,如「閒置時關機」
http://img153.yfrog.com/i/002hl.png/

三、在「閒置時關機」上,用滑鼠雙擊它,會出現設定畫面,
於「工作」頁籤中,
在「執行」填入「shutdown -f -s -t 60」,這個指令的意思是:「60秒後強制關機」,
在「執行身分」請輸入權限夠大的使用者帳號,
點擊「設定密碼」後,請輸入使用者密碼,
不勾選「登入後才執行」,
勾選「啟用(已排定的工作會在指定時間執行))」。
http://img265.yfrog.com/i/003h.png/http://img188.imageshack.us/img188/9631/arrow0017.gifhttp://img237.yfrog.com/i/004u.png/

四、於「排程」頁籤中,
在「工作排程」中,選擇「閒置時」,
在「當電腦閒置超過」輸入適當的時間,
在點擊「確定」。
http://img526.yfrog.com/i/005m.png/

五、如此就完成設定的事項了。
http://img4.yfrog.com/i/006eb.png/

六、重新開機後,測試是否會執行,
雖然沒有登入,但是時間一到,仍然會跳出關機的倒數計時。
http://img256.yfrog.com/i/007n.png/

七、再查看一下狀態,已經有成功的執行了。
http://img187.yfrog.com/i/008q.png/

2009年11月20日 星期五

DOS指令開啟兩個檔案

問題來源:

問題內容:
我想寫一個BAT檔

我有兩個程式

1個是火狐優化器...但是打開時需要按下一個鍵(按ENTER也可以)

然後再關掉那個程式,

另1個是...火狐瀏覽器...需要讓它直接打開...但是在這兩個程式中間需要停個幾秒鐘....大約....10秒八!!!

請問要怎樣才有辦法寫出BAT檔??

我不董怎寫按下ENTER的按鍵的語法....

問題答案:
擔心複製後貼上會出錯?可以直接下載已寫好的檔案,請到這裡下載,(如何下載:請參考這裡)

  1. 方法一:
    先優化在執行火狐,啟動時多花一些時間
    StartFox.cmd:
    @echo off
    :: 安裝在其它路徑的話,就要改用 speedyfox /profile:"路徑"
    speedyfox.exe /default_profile

    start "Firefox" "%ProgramFiles%\Firefox\Firefox.exe" %*

  2. 方法二:
    先執行火狐,結束後再
    優化
    LaunchFox.cmd
    @echo off
    set FIREFOX_EXE="%ProgramFiles%\Firefox\Firefox.exe"
    %FIREFOX_EXE% %*

    :WaitFirefoxGone
    nircmd wait 1000
    nircmd waitprocess %FIREFOX_EXE% returnval 1 || goto WaitFirefoxGone

    :: 安裝在其它路徑的話,就要改用 speedyfox /profile:"路徑"
    speedyfox.exe /default_profile
注意事項:
    • 批次檔中,火狐的相關路徑要先自行修改為您的設定,才能正確使用。
    • 不想要看到命令提示字元的視窗,可以執行「StartFox.exe」、「LaunchFox.exe」,它們會用隱藏命令提示字元的方式執行「StartFox.cmd」、「LaunchFox.cmd」

2009年11月16日 星期一

DOS 有沒有辦法寫BAT 移除空的資料夾?

問題來源:

問題內容:
DOS 有沒有辦法寫BAT 移除空的資料夾? 常常用BT下載檔案 有時候把檔案砍了 資料夾往往就空再邊 久而久之空的資料夾一堆 !
懶得用檔案總管去看在砍~要怎麼利用DOS 砍空的資料夾 ?或是有其它方式嗎? 資料夾一定是空的才砍 不然砍錯了很麻煩 請賜教! 謝!

問題答案:
擔心複製後貼上會出錯?可以直接下載已寫好的檔案,請到這裡下載,(如何下載:請參考這裡)

使用方式:
red c:\temp

red.cmd:
@echo off

setLocal ENABLEEXTENSIONS

if $%1$ == $$ goto showUsage
if not exist %1 (
dir /b %1
echo.
goto showUsage
)

dir %1 /a:d /b /s | sort /r > $dirList$
echo %1 >> $dirList$
for /f %%l in ($dirList$) do (
rd %%l 2>nul
if not exist %%l echo Remove Directory: %%l
)

goto end

:showUsage
echo Remove Empty Direcoties
echo =====================================================================================
echo Usage:
echo.
echo %0 [drive:]path
echo.

:end
if exist $dirList$ del /f /q $dirList$
endlocal



2009年10月2日 星期五

製作類似網咖系統的選單

問題來源:

問題內容:
要 怎麼去製作一個跟網咖那種有遊戲、小工具等等那種功能選單?

例如在一個小介面上可以將各遊戲或工具程式捷徑集中於小介面上

問題答案:
介紹您使用免費軟體 FSL Launcher - Standard version,
FSL Launcher 官方網址:http://fsl.sytes.net/launcher.html
1、 下載
2、安裝
3、執行

執行後,會在系統列出現一個像太空梭的小圖示
http://img39.yfrog.com/i/006h.png/

點擊太空梭小圖示、或將滑鼠游標移到螢幕的最左上角,就會出現 FSL Launcher 快速啟動選單
http://img169.yfrog.com/i/001u.png/

選單上有 Tab 可以用來分門別類,可以把同性質或相關的應用程式放在一起
http://img340.yfrog.com/i/005k.png/

要新增加項目很簡單,
只要把程式用拖拉的方式拉進 FSL Launcher 快速啟動選單就可以了

有關複製Temporary Internet Files!!

問題來源:

問題內容:
想請問各位
我有時會複製Temporary Internet Files裡的東西
但每次複製出來它都會在檔名後面加上"[1]"
例如我要複製A
它就會變成A[1]
請問這有辦法解決嗎?
困擾很久希望有大大能替我解決

問題答案:
其實在檔過的後面就有「[1]」,只是您沒有看到而已,
以下証明給您看,它本來就有。

1、首先到「Temporary Internet Files」看看
在這裡看到的檔案「名稱」,其實是「網際網路位址」的後半段(去掉網域,留下的後面部份)。
而且這些檔案的性質也跟一般的檔案的性質不同。
http://img98.yfrog.com/i/001dd.png/

2、而瀏覽過的圖檔,其實是放在隱藏的資料夾中
進入方法:
在檔案總管的網址列上,直接加「Content.IE5」就會變成「C:\Documents and Settings\【使用者】\Local Settings\Temporary Internet Files\Content.IE5」
http://img205.yfrog.com/i/002z.png/

3、接著再進入任何一個子資料夾中,這時看到的才是真正存在本機的快取圖檔
在不同網域的圖檔,放在同一資料夾中,
就會發現,同名的機會太大了,
所以把網路上檔案暫存於本機時,後面要先加個[1],
如果遇到同名的就在後面加上[2],以此類推。
http://img59.yfrog.com/i/003c.png/

2009年9月28日 星期一

想找到工作管理員裡面程式的位置

問題來源:

問題內容:
想找到工作管理員 >> 處理程序 裡面一些在跑的程式

感覺有些跟本沒用到

關掉也沒差別

可是每次都要關掉好麻煩...

有些還是不知道是什麼東西

不知道有沒有什麼辦法可以找到這些程式的位子
2009-09-23 22:18:42 補充
我敢關的 都是沒問題我還看的懂得....

有些 是關掉之後沒事 也找不到 他的位子?

問題答案:
首先您需要兩個工具,下載後,解壓縮即可執行(不需要安裝)
1、Process Explorer
中文化下載:http://por.tw/f2blog/index.php?load=read&id=89
軟體王下載:http://www.softking.com.tw/soft/clickcount.asp?fid3=18850
官方網址:http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
2、Autoruns
中文化下載:http://por.tw/f2blog/index.php?load=read&id=310
軟體王下載:http://www.softking.com.tw/soft/clickcount.asp?fid3=23758
官方網址:http://technet.microsoft.com/en-us/sysinternals/bb963902.aspx

啟動 Process Explorer:
您會看到比「工作管理員」顯示更詳細的資訊,
而且是使用樹狀結構呈現,其階層代表是父行程、子行程的關係,
簡單說就是上一層的程式執行了(或叫起、帶起)下一層的程式。

系統服務:
在「services.exe」階層下的都是「系統服務」程式,
就好不要嚐試直接從「Process Explorer」把「服務」殺掉,以免當機或造成系統不正常
http://img42.yfrog.com/i/procexp01.png/

一般應用程式:
剛開機後,會看到「explorer.exe」(檔案總管)階層下的就是一般開機會自動執行的程式,
從「Process Explorer」把一般程式殺掉,
比較不會出現系統方面的大問題(但如果要這麼做的話,所有風險請自行負責)。
http://img137.yfrog.com/i/procexp02.png/

如何查看執行檔所在的路徑:
雙擊清單中的程式項目,即可查看詳細的程式資訊,其中包含「路徑」
http://img126.yfrog.com/i/procexp03.png/

啟動 Autoruns:
可以看到各種於開機時會被系統載入的各種程式、dll、驅動程式…等

系統服務:
不想啟動的服務,可取消勾選,那麼於下次開機時,就不會被啟動了。
http://img121.yfrog.com/i/autoruns02.png/

一般應用程式:
不想在開機時自動啟動的一般程式,可取消勾選,那麼於下次開機時,就不會被啟動了。
http://img169.yfrog.com/i/autoruns01.png/

2009年9月24日 星期四

KixForms.dll not found 可能權限不足

問題來源:

問題內容:
於解壓縮並執行P_clin的Iclean 出現說 KixForms.dll not found 可能權限不足,請以系統管理員身分執行此程式.......可是在下就是以系統管理員的權限進入VISTA的呀!

請電腦高手們指導.......... 感恩!


問題答案:
KixForms 是一個專為 KiXtart 寫的 ActiveX 元件,
可以讓一般文字輸出的 Script 語言也可以產生視窗界面,
但是不只有 KiXtart 可以使用,
一般常見的 VBScript, Jscript, Perl , Ruby …等,
只要可以使用 ActiveX 元件的 Scripts,
都可以使用 KixForms。

您可以到 KixForms 的網站下載,
有分為傳統版本:「KiXforms Classic」
及.Net版本:「KiXforms.NET」(如果您有安裝 .Net 的話)

下載完解壓縮,
可以有兩種安裝方式:

一、使用執行檔安裝:
找到「KiXforms.msi」後,
執行「KiXforms.msi」進行安裝。
http://img43.yfrog.com/i/kixformssetup.png/

二、自己註冊 dll
將「KixForms.dll」複製到「%SystemRoot%\system32 \」(一般而言,就是「C:\WINDOWS\system32\」),
http://img225.yfrog.com/i/kixformscp2system32.png/

開啟命令提示字元:
於「開始」→「執行」→輸入「cmd」→點擊「確定」
http://img200.yfrog.com/i/executew.png/

再輸入「regsvr32 kixforms.dll」註冊
http://img17.yfrog.com/i/regkixforms.png/

然後再試試看問題解決了沒

KixForms 下載頁:http://www.kixforms.org/assets/index.htm
KixForms 介紹及常見問題:http://www.kixforms.org/docs/introduction.htm

2009年9月23日 星期三

幫我看這個網址的聯絡Email;(我沒有outlook)

問題來源:

問題內容:
http://www.doctorcher.com/frame-chinese.htm
這網址的左下角有"與我們聯絡"但是我沒有microsoft outlook所以請哪為幫我看一下Email的網址是多少
因為這問題太簡單所以我會選第一位或是第一位回答下面的加分題者@@

加分題:
沒有microsoft outlook如何看該網址Email(不能在該網址按右鍵)


問題答案:
在瀏覽器的最下面有所謂的狀態列,只要把滑鼠移到超連結上,就會秀在狀態列上
如下圖所示,可看到電子郵件信箱
http://img97.yfrog.com/i/emailaddress01.png/

開啟命令提示字元:
於「開始」→「執行」→輸入「cmd」→點擊「確定」
http://img200.yfrog.com/i/executew.png/

出現一個「命令提示字元」
如有需要記錄原先的設定值時,可先輸入「ftype MailTo」,查看設定,以後可以回復原有的設定。
然後再輸入「ftype MailTo="%ComSpec%" /k echo "%1"」
http://img97.yfrog.com/i/cmdprompt01.png/

設定完成後,以後只要在瀏覽器上,點擊連絡人之類的超連結,就會跳出一個「命令提示字元」,
裡面就看得到電子郵件信箱了。
http://img28.yfrog.com/i/cmdprompt02.png/

請問如何寫關於del的批次檔?

問題來源:

問題內容:
我有一個資料夾,會備份每天的資料,這個資料夾裡面有每天的子資料夾,格式如下:
備份資料夾=>0101、0102、0103…1231,裡面裝著每天的備份資料,但我想做一個批次檔來刪除三個月前的資料,例如:
今天9月21,我要刪掉6月21以前的備份,但我子資料夾必須留著,我要刪的只有裡面的檔案,請問各位大大,我該如何寫這樣的批次檔呢?

問題答案:
分成兩個部份來回答:

1、DelOld.cmd:
@echo off
cscript /nologo ListOldFolder.vbs log > FolderList.txt
for /f %%f in (FolderList.txt) do (
rd /s /q "%%f"
if not exist "%%f" md "%%f"
)

2、ListOldFolder.vbs:
' ************************************************************************
' * Modification history
' * Date Level Author Description
' * ---------- ----- ------------ ------------------------------------
' * 2009/09/23 P0.00 Eric Su Initial Release
' *
' ************************************************************************
' Eric Su 的部落格:http://sn.im/e7q0c、http://www.pushba.com/View.aspx?gid=7a0bcaa2
' ************************************************************************

'Usage : ListOldFolder.vbs log_path keep_mons
Const StdOut = 1
Dim objArgs, where, mons
Set objArgs = WScript.Arguments

where = "log"
mons = 3
'讀取前二個參數,省略時,保留 3 個月資料
If objArgs.Count >= 1 Then
where = objArgs(0)
End If

If objArgs.Count >= 2 Then
mons = objArgs(1)
End If

DeleteFilesBymons where, mons
Set objArgs = Nothing

Sub DeleteFilesByMons(where, keepMons)
Dim fso, folder, sf, f
Dim aDay, today

today = Now
aDay = DateAdd("m", -keepMons, today)
today = Right("00" & Month(today), 2) & Right("00" & Day(today), 2)
aDay = Right("00" & Month(aDay), 2) & Right("00" & Day(aDay), 2)

Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(where) Then
Set folder = fso.GetFolder(where)
Set sf = folder.SubFolders
If aDay < today Then
For Each f In sf
If f.Name <= aDay Or f.Name > today Then
Output(f)
End If
Next
Else
For Each f In sf
If f.Name <= aDay And f.Name > today Then
Output(f)
End If
Next
End If
End If

Set f = Nothing
Set sf = Nothing
Set folder = Nothing
Set fso = Nothing
End Sub

Sub Output(where)
Dim fso, sout
Set fso = CreateObject("Scripting.FileSystemObject")
Set sout = fso.GetStandardStream(StdOut)
sout.WriteLine where.Path

Set sout = Nothing
Set fso = Nothing
End Sub


2009年9月22日 星期二

如何在開機後自動執行”自動關機”程式?

問題來源:

問題內容:
如何在開機後自動執行"自動關機"程式?
我想要在每次開機後一段時間讓電腦自動執行"自動關機"程式,而我又不想下載網路上所提供的自動關機軟體,只想在"開始"狀態下的"執行"寫入執行指令, 因為電腦平時不是本人在用的而這樣為的是不要讓使用者一直沉迷電腦遊戲,所以各位大大是否能為我解答這個困難.......非常感激

補充:
我若是要設定每天固定開機一段時間就執行關機動作的話輸入指令要如何填寫呢?????

補充:
我若是要設定每天固定開機一段時間就執行關機動作的話輸入指令要如何填寫呢?????而我能不能在"開始"狀態下的"執行"寫入一次指令就好了,因為我不 想要每次開機都要重新輸入一次,畢竟開機的人並不完全都是我,我總不能在他前面輸入指令給他看吧,這樣不是破功了嗎.....因為我最終的目的是要再他不 知道的情況下牽制他沉迷遊戲當中,希望有厲害的大大能幫我這個忙.....真的非常感激

問題答案:
把以下範例存成 xxxx.vbs,然後放到啟動的目錄下即可。
如:
全部的使用者都會執行:「C:\Documents and Settings\All Users\「開始」功能表\程式集\啟動」
或
特定的使用者才會執行:「C:\Documents and Settings\【使用者名字】\「開始」功能表\程式集\啟動」
http://img132.yfrog.com/i/startup01.png/

不會有任何跡象的版本:
Option Explicit

Const WindowStyle_Hidden = 0
Dim objShell
Dim strShutdown

strShutdown = "shutdown -s -t 0 -f"

WScript.Sleep (2 * 60 * 60 * 1000) '休息兩小時,單位是毫秒
set objShell = CreateObject("WScript.Shell")
objShell.Run strShutdown, WindowStyle_Hidden

Wscript.Quit

假裝被駭客入侵的版本:
Option Explicit

Const WindowStyle_Hidden = 0
Const WindowStyle_Activates = 1
Dim objShell
Dim strShutdown
Dim sCmd
Dim sTitle
Dim i, char

sTitle = "shutdown"
sCmd = "cmd /k title " & sTitle
strShutdown = "shutdown -s -t 6 -f"

WScript.Sleep (2 * 60 * 60 * 1000) '休息兩小時,單位是毫秒
set objShell = CreateObject("WScript.Shell")
objShell.Run strShutdown, WindowStyle_Hidden '先執行 6 秒後關機
objShell.Run sCmd, WindowStyle_Activates

'再模擬有人鍵入要關機的指令
strShutdown = strShutdown & vbNewLine & "exit" & vbNewLine
For i = 1 to Len(strShutdown)
char = Mid(strShutdown, i, 1)
WScript.Sleep(25)
objShell.AppActivate sTitle
objShell.SendKeys char
WScript.Sleep(25)
Next

Wscript.Quit



LinkWithin

Blog Widget by LinkWithin