四月 20

最近有個需求,就是固定時間內把某個資料夾內的檔案(不含子資料夾),壓縮成1個自解檔

而這個自解檔於執行時必需自動將檔案解壓到特定目錄,解壓完成後自動執行某個檔案

看起來似乎很複雜,不過事實上流程簡化後只有2個步驟

1.把檔案加入壓縮檔,並且引入解壓縮的參數
2.於 Windows 內的排程執行此指令

關於第2步驟 google 找一下就一堆教學了,在此不再贅述

第一步驟則是比較麻煩一點

首先,先建立一個檔案名為 config.txt 的文字檔,內容如下

Path=C:\Test_Dir
Title=測試自動解壓縮
Overwrite=1
Silent=2
Setup=setup.exe

這個檔為 WinRAR 要自動解壓縮時的參數檔

上面這些參數的意思代表

1.按下自解檔時,不詢問,自動執行解壓縮 (Silent=2)
2.要把檔案解壓縮到 C:\Test_Dir 這個目錄 (Path=C:\Test_Dir)
3.如果檔案存在就蓋過去 (Overwrite=1)
4.解壓縮完後自動執行 setup.exe (Setup=setup.exe)

接下來是使用指令模式來建立 WinRAR 的自解檔

先建立檔名為 run.bat 的批次檔,內容為

del "C:\out.exe"
path=%path%"C:\Program Files\WinRAR\";
winrar a -m2 -sfx -ibck -ep -zC:\config.txt "C:\out.exe" "C:\Target_Dir"

上面的意思表示

1.建立前先把舊的檔案刪除,如果沒刪除會一直累加進去壓縮檔 (del "C:\out.exe")
2.把 Winrar 的路徑加入 Path 以便使用 (path=%path%"C:\Program Files\WinRAR\";)
3.使用建立自動解壓縮檔的模式 (-sfx)
4.壓縮率設為一般 (-m2)
5.去掉檔案的完整路徑 (-ep)
6.於背景中壓縮檔案 (-ibck)
7.把解壓縮時的參數檔引入 (-zC:\config.txt)
8.壓縮檔完成時的存放位置 ("C:\out.exe")
9.要壓縮的檔案位置 ("C:\Target_Dir")

P.s 如果想要壓縮目標要包含子資料夾請加上一個參數 -r 就行了

接下來把 run.bat 放到 Windows 排程中執行就可以了

如果大家對參數檔有興趣,可以使用 WinRAR 的"參數產生器"來玩玩

先隨便找個檔案加入壓縮檔,接下來就看圖說故事

.

最後產生出來的參數會放在註解裡面





三月 18

在Windows中如果我們不想要讓某個資料夾被刪掉

那我們就在該資料夾內,建一個刪不掉的資料夾就行了

或是我們想要讓某個資料鎖定,讓別人進不去,以往通常要靠軟體來決解

不過現在我們可以利用Windows內建的cmd指令來完成(迷之音:是Bug吧)

先到開始->執行->cmd


rem 建立一個保密資料夾
md test123..\

rem 進入保密料夾
cd test12~1

rem 刪除保密資料夾
rd test12~1

rem 強制刪除保密資料夾(資料夾內有資料也一併刪除)
rd /s/q test12~1

需注意的是,要放、取檔案,只能使用cmd模式用指令的方式存取

直接用Windows進去就會出現下面這個畫面





三月 11

在Windows中如果覺得網路怪怪的

可以在控制台->網路連線->區域連線 按右鍵

然後選擇修復。這時候Windows會幫我們做一些網路修復的動作

如果我們想用指令(cmd)的方式取代圖型介面,該怎麼做呢?

Windows做的動作可以在微軟官方文件找到說明

微軟官方文件加上我的一點語意修正後:

* 更新 DHCP:ipconfig /renew
* 清除ARP快取:arp -d *
* 重新載入 NetBIOS 快取:nbtstat -R
* 更新 NetBIOS 名稱:nbtstat -RR
* 清除 DNS 快取:ipconfig /flushdns
* DNS 名稱登錄:ipconfig /registerdns

你也可以把以下指令存成批次檔(Repair.bat)執行


@echo off
echo "更新 DHCP"
ipconfig /renew
echo "------------------------------"
echo "清除ARP快取"
arp -d *
echo "------------------------------"
echo "重新載入 NetBIOS 快取"
nbtstat -R
echo "------------------------------"
echo "更新 NetBIOS 名稱"
nbtstat -RR
echo "------------------------------"
echo "清除 DNS 快取"
ipconfig /flushdns
echo "------------------------------"
echo "DNS 名稱登錄"
ipconfig /registerdns
echo "------------------------------"

參考資料:區域網路或高速網際網路連線的修複選項說明





三月 06

拋棄式 email ? 或許有的人沒聽過

顧名思義,所謂的拋棄式 email 就是用完就丟的email

或許你會說,現在免費的一大堆,我去隨便申請1個就行了呀

但拋棄式 email 好就是好在免申請,一切從簡,連密碼都不用打

今天要介紹的是Mailinator這個網站

這個網站提供了以下6個Domain讓你用

  • mailinator2.com
  • sogetthis.com
  • mailin8r.com
  • mailinator.net
  • spamherelots.com
  • thisisnotmyrealemail.com

怎麼使用呢?

如果你要申請的服務需要輸入email來取得啟動碼

那麼就在email欄位上面輸入你想要的帳號@上面6個Domain中選1個

例如:
abc@mailinator2.com
bbq@mailin8r.com
john@spamherelots.com

然後再到Mailinator收信就行了(信件於幾天後會自動刪除)

收信的方式就是在左邊的輸入區域輸入你的email名子

如果你是用abc@mailinator2.com,那就輸入abc,然後按GO就行了

在這邊要提醒大家,千萬不要用拋棄式 email來處理你的重要資訊

因為這邊的email大家都看的到

如果資料不是很重要,但又不想給別人看到呢?

這邊教大家一個方法,就是用一個很複雜的帳號

例如:i4c74h5c90e@mailinator2.com

不過這也只是救急,如果有重要資料還是建議用自已的信箱來處理會較安全





三月 05

一般我們要修改電腦名稱就是使用介面模式去修改

如果有好幾台電腦要改,那會很煩

這時候就是使用指令模式的時機了

要使用指令模式必需先要有一個小程式 netdom.exe

這個小程式微軟放在Windows XP Professional CD-ROM 上的 [Support\Tools] 資料夾中安裝 Windows XP「支援工具」

你可以到微軟官方下載封裝好的安裝檔

或是下載我封裝不用安裝的版本

使用方式微軟已經幫我們準備好了,大家享用吧

資料來源:如何使用 Netdom.exe 公用程式來重新命名電腦

------------------------------------------------------------------------

Netdom.exe 公用程式可以重新命名屬於 Windows XP 網域成員的電腦。然而,若要重新命名電腦,您必須要能指定具有本機系統管理權限的使用者帳戶,以及 Active Directory 中的電腦帳戶物件。

若要重新命名電腦:

  1. 請從 Windows XP Professional CD-ROM 上的 [Support\Tools] 資料夾中安裝 Windows XP「支援工具」。
  2. 在命令提示字元下,輸入下面命令。注意:下面命令列已經折成好幾行,以方便您閱讀。請以單一行來輸入此命令。netdom renamecomputer machine /newname:new_computername /userd:domainname\administrator_id /passwordd:* /usero:local_admin
    /passwordo:* /reboot:seconds before automatic reboot

    上述命令列的說明如下:

    Machine 是電腦目前的名稱。

    New_computername 是電腦的新名稱。

    Domainname\administrator_id 是網路基本輸入/輸出系統 (NetBIOS) 的網域名稱,以及對網域中的電腦物件具有系統管理權限的使用者帳戶的系統管理員識別碼 (ID)。

    Local_admin 是具有本機系統管理權限的使用者,有可能和 /userd: 所指定的帳戶相同。

    星號 (*) 是和 /passwordd:/passwordo: 參數連在一起用的值,是用來指定當命令傳送出去時密碼應該要以隱藏的字元來輸入。

    Time before automatic reboot in seconds 是重新命名電腦後,電腦在重新啟動前所需的時間。如果沒有指定此參數,您就必須手動重新啟動電腦。

例如,有一部稱為「Mycomputer」的工作站,是「Mydomain」網域的成員。您想要將此工作站的名稱改為「Yourcomputer」,然後在 60 秒之後自動重新啟動此工作站。您可以使用下面命令。

注意:下面命令列語法已經折成好幾行,以方便您閱讀。您必須以單一行來輸入此命令。

netdom renamecomputer mycomputer /newname:yourcomputer
/userD:mydomain\administrator /passwordd:*
/usero:administrator /passwordo:* /reboot:60

您可能會收到下面警告訊息,並提示您是否要繼續進行:

This operation will rename the computer "Mycomputer" to "Yourcomputer".Certain services, such as certification authority, rely on a fixed computer name.If any services of this type are running on "Mycomputer", a computer name change would have an adverse impact. (此操作程序會將「Mycomputer」電腦重新命名為「Yourcomputer」。某些服務,例如憑證授權,是要依靠固定的電腦名稱,如果 「Mycomputer」上正在執行任何這類服務,變更電腦名稱會造成不利的影響。)

如果您不想收到是否要繼續進行的提示,當您輸入 netdom 命令時,除了其他參數之外,請另外加上 /force 參數。