今天,google 發佈了Chrome 37的更新,包含x86與x64的穩定版。當中最大的改變,就是支援了Windows的 DirectWrite Api,讓瀏覽器字型的渲染更漂亮。
值得一提的是,更新了37版的Chrome以後,而且你剛好設定了網頁字型為Noto思源字型(無論透過擴充功能或是瀏覽器設定)實際測試,設定都不起作用,但是設定為別的字型,例如正黑體、文泉驛微米黑等等卻都沒有問題,這是目前發現的bug。
另外,如果發現更新以後的字型渲染沒有改善,可以檢查一下設定值,方式如下:
網址列輸入 chrome://flags 啟用實驗性 DirectWrite 字型轉譯系統。
最後,附上Chrome 64bit 穩定版(v37)的下載位置:
https://www.google.com/intl/en/chrome/browser/?platform=win64
原先x86 版本的下載位置不變,為:
https://www.google.com/intl/en/chrome/browser/?platform=win
補充說明,就在剛才,重新設定了一次Noto字型,發現Chrome已經可以正常的顯示Noto字型了。
2014.08.28
找到問題的解決方式了,更新後,或安裝新的64 bit Chrome後
1. 打開 chrome://flags 啟用實驗性 DirectWrite 字型轉譯系統
2. 設定Noto字型
3. 開始 執行 cmd 輸入 taskkill /f /im chrome.exe 關閉所有Chrome後,重新執行Chrome
所設定的字型就會生效。
skip to main |
skip to sidebar
買了Mac才發現,DPP for Mac 竟然都沒有人繁體中文化,官方也只提供簡體中文版....
好吧,不求人,自己來,順便分享大家。
Digital Photo Professional 繁體中文化 67.2 MB
https://mega.co.nz/#!nph2XL7T!mTrZQeq6bISgEl0zNeAst0kq7KQdgNkcS5HAJ9r2e38
目前中文化還是有些地方沒有翻譯到,有興趣的可以下載測試
使用方法:
1.下載安裝原版DPP 3.13.51 (免驗證光碟版)已經裝過的可以跳過這步驟
2.下載中文化檔案後,解壓縮,覆蓋到 應用程式 - Canon Utility - Digital Photo Professional 當中(如果已經有執行過DPP,必須先把它結束掉再覆蓋)
指令介紹
cd:改變並前往指定的路徑,cd ssl , cd /var/ssl , cd ./ssl , cd ../tmp
My Curiosity
我的好奇心
2014年8月27日 星期三
2014年2月26日 星期三
Canon DPP 3.13.51.0 for Mac 繁體中文化
買了Mac才發現,DPP for Mac 竟然都沒有人繁體中文化,官方也只提供簡體中文版....
好吧,不求人,自己來,順便分享大家。
Digital Photo Professional 繁體中文化 67.2 MB
https://mega.co.nz/#!nph2XL7T!mTrZQeq6bISgEl0zNeAst0kq7KQdgNkcS5HAJ9r2e38
目前中文化還是有些地方沒有翻譯到,有興趣的可以下載測試
使用方法:
1.下載安裝原版DPP 3.13.51 (免驗證光碟版)已經裝過的可以跳過這步驟
2.下載中文化檔案後,解壓縮,覆蓋到 應用程式 - Canon Utility - Digital Photo Professional 當中(如果已經有執行過DPP,必須先把它結束掉再覆蓋)
2013年1月27日 星期日
小筆電安裝Android x86 教學
Android x86這個計畫項目是將 Google Android 作業系統移植至 x86 平台的開放源碼計劃,計畫的主持人黃志偉(Chih-Wei Huang)可以說是另一個台灣之光。
x86版本的Android特別適合用在x86小筆電與平板電腦等。本計劃自 2009 年六月開始,已進行將近三年的時間。採用 Apache License 2.0 授權。Android 4.0 (ICS)是第一個同時適用平板與手機的Android開放平台,特別是為平板所打造的Holographic UI,為許多x86平板與小筆電帶來新的生命。(節錄自 http://android-day.com/presentation/android-x86-4-0-porting)
自從2011年底開始,Android x86 項目開始有了突飛猛進的進展,主要的原因是:
我們可以由以下兩篇報導,了解到現今CPU大廠對於Android平台的態度。
總之,現在安裝Android在Notebook/Netbook上,只要主要的硬體設備能夠驅動,絕對會有令人驚喜的感覺。一直以來對家人淘汰掉的Msi U100小筆電無論跑Windows系列、Mac OSX、或是Ubuntu,都感到系統運作的很吃力的我來說,成功的把U100 裝上Android系統,的確讓人有耳目一新的感覺。
x86版本的Android特別適合用在x86小筆電與平板電腦等。本計劃自 2009 年六月開始,已進行將近三年的時間。採用 Apache License 2.0 授權。Android 4.0 (ICS)是第一個同時適用平板與手機的Android開放平台,特別是為平板所打造的Holographic UI,為許多x86平板與小筆電帶來新的生命。(節錄自 http://android-day.com/presentation/android-x86-4-0-porting)
自從2011年底開始,Android x86 項目開始有了突飛猛進的進展,主要的原因是:
- 原先態度冷淡的CPU大廠們,感覺到了Android平台的魅力以及ARM架構處理器所帶來的威脅,所以紛紛表態支持Android開源項目,實際上,就是希望x86平台可以更Smooth的執行利用Android原始碼重新編譯過的x86項目。
- Android的系統,本身有了重大的進步,平板與手機可以共用同一版本的系統,這意味著移植到各方面較接近平板電腦的小筆電,能夠更順利。
- Android-x86計畫參與者的努力不懈。
我們可以由以下兩篇報導,了解到現今CPU大廠對於Android平台的態度。
總之,現在安裝Android在Notebook/Netbook上,只要主要的硬體設備能夠驅動,絕對會有令人驚喜的感覺。一直以來對家人淘汰掉的Msi U100小筆電無論跑Windows系列、Mac OSX、或是Ubuntu,都感到系統運作的很吃力的我來說,成功的把U100 裝上Android系統,的確讓人有耳目一新的感覺。
安裝的過程其實不難,就是手續比較多一點點。
實際安裝前我們要先準備幾樣東西:
- 1G或2G隨身碟一隻,太大的空間其實用不到。
- UNetbootin,功能是要把下載來的ISO轉為可開機的隨身碟。
- Android-x86-4.0-RC2 ISO檔
- 小筆電一台
下載ISO檔案時要注意,目前只要依照型號下載RC2這個版本就好,雖然目前所支援的特定型號不多,如果沒有合適的,可以試試看 eeepc、thinkpad、或是ASUS Laptops這幾個版本。
例如:我的Msi U100逐一測試到RC2 的thinkpad 能夠完美的驅動幾乎所有的硬體(除了有線網路),我就選擇了這個版本。安裝前的測試方式,在後面會說明。
安裝步驟如下:
- 插上隨身碟,格式化成FAT32
- 執行UNetbootin,選擇ISO映像檔,並指向到下載好的Android x86 ISO檔。然後選擇隨身碟的磁碟機代號,按確定,就可以製作可用來開機測試或安裝的隨身碟。
- 製作好開機隨身碟以後,我們就可以把隨身碟,安插在小筆電上,開機,選擇USB隨身碟開機(開機後到BIOS或是由BootMenu中指定為USB HDD開機)
- 因為還不確定所下載的ISO對於自己小筆電的支援性好不好,所以我們先不安裝系統,取而代之的,我們先選擇 Run Android without Installation
- 實際利用隨身碟開機到系統中,測試看看這個版本的硬體支援如何,最主要要考量的是:無線網路、顯示解析度、滑鼠、WebCam、觸控板(可否控制到左右滑動)
- 若下載的ISO檔,並沒有辦法合乎需求,可以重新下載另一個ISO(還是4.0 RC2),重新格式化或刪除隨身碟上的資料後,再用UNetbootin再製作一次開機隨身碟,再次測試,直到找到滿意的ISO檔。
- 找到滿意的ISO檔案後,開機時,就可以選擇Install Android to harddisk,真正的把系統裝起來。
- 安裝的過程,必須在Choose Partioion的地方建立兩個分割區,第一個sda1是用來放系統的,第二個sda2是用來當作sdcard裝置的。兩個都要格式化(設定)成 type 83的 ext3格式,而且sda1要設定為bootable,最後要記得write。(http://kalug.linux.org.tw/~lloyd/LLoyd_Hand_Book/book/cfdisk-howto.html)
- 格式化好兩個分割區就可以選擇sda1進行安裝,是否要安裝GRUB開機管理程式,選YES
- 是否要建立一個可以讀寫的/system資料夾也要選擇YES。
- 安裝完成,重新開機。
重新開機後,就進入到了初始設定的歡迎畫面,簡單設定一下後,就可以看到桌面了。但我們還有兩個最重要的問題要解決。
- SD卡問題:RC2版本之前,Android都是利用掛載一個2G的磁碟image檔案來充當sdcard,但是RC2之後,其實是利用sda1下的的一個目錄來當作sdcard的空間,實際測試,大約只有1/3的app可以被這樣蒙混過去XD,所以我們必須要利用我們在安裝過程中創的另一個sda2分割區來當作sdcard空間。方式是:重新開機,在GRUB選單中選第二個項目(Debug),開機後,提示符號結尾為#,代表擁有root最高權限,cd / 到最上層目錄,再cd 到mnt目錄下的GRUB中,vi menu.lst ,編輯 list檔,先按 i 進入insert 模式,在正常開機那段的Kernel行結尾加上 SDCARD=/dev/sda2,修改好以後,按下esc 再輸入:wq 存檔離開,然後就可以重開機了。
- 第二個問題就是NDK的問題,Android其實是允許app開發者利用c++撰寫自己的native code,但這些code 是編譯成arm處理器能接受的格式,我們必須要在x86的架構下加上可以轉譯arm 指令給x86 cpu 執行的函式庫我們必須要從 Buildroid下載以及複製三組檔案到我們的系統中
- Download libhoudini.so and copy it to /system/lib/
- Download libdvm_houdini.so and copy it to /system/lib/
- Download the arm libs, extract the downloaded archive and copy the files to/system/lib/arm/
以上下載複製的動作可以使用兩個方式進行,在pc上下載好存在隨身碟上(開機的那隻就可以),然後插上小筆電,利用app當中的 file manager瀏覽 /mnt/USB/your_arm_lib_path 來複製到指定的位置。
或是直接使用android x86來下載並複製到指定的位置去
特別一提的是,android的play store 有個 ES檔案管理器,功能強大,可以幫助我們複製貼上搬動檔案、編輯檔案。 - 最後還要檢查一下/system/build.prop 檔案的內容,是否能找到 ro.product.cpu.abi2=armeabi
沒有的話也必須自己加上這一行。
至此,所有相關的修改與設定都應該完成。檢查看看內建瀏覽器可不可以下載檔案,如果不行,代表SDCARD我們所做的設定沒有生效,需要再次檢查。檢查看看 Angry Bird Rio 可不可以跑,不能跑的話代表arm translator沒有生效。
2012年6月14日 星期四
Linux常用指令介紹
指令介紹
cd:改變並前往指定的路徑,cd ssl , cd /var/ssl , cd ./ssl , cd ../tmp
ls:查看檔案與目錄 (常用ls -l 顯示詳細資料)
who:顯示目前線上使用者
|權限屬性 | 大小 | 擁有者 與 群組 | 大小 | 日期 時間 | 名稱 |
drwxr-xr-x 44 root root 4096 5月 3 17:03 ssl
drwxr-xr-x 3 root root 4096 5月 3 17:03 xml
|________ d檔案雍有者-群組使用者-其它使用者
d:代表是目錄 r:代表可讀取(1) w:代表可寫入(2) x:代表可執行(4)
chmod:改變權限屬性(chmod 755 ssl ,表示ssl 權限要改成[rwx][r-x][r-x] --> [4+2+1][4+0+1][4+0+1]=755 )
|________ d檔案雍有者-群組使用者-其它使用者
d:代表是目錄 r:代表可讀取(1) w:代表可寫入(2) x:代表可執行(4)
chmod:改變權限屬性(chmod 755 ssl ,表示ssl 權限要改成[rwx][r-x][r-x] --> [4+2+1][4+0+1][4+0+1]=755 )
chown:改變擁有者資訊
將檔案 file1.txt 的擁有者設為 users 群組且使用者為paypay --> chown paypay:users file1.txt
將檔案 file1.txt 的擁有者設為 paypay --> chown paypay file1.txt
將檔案 file1.txt 的擁有者設為 users 群組且使用者為paypay --> chown paypay:users file1.txt
將檔案 file1.txt 的擁有者設為 paypay --> chown paypay file1.txt
chgrp: 改變檔案擁有者的群組屬性
chgrp users install.log 把install.log 擁有者群組屬性改為 users群組
chgrp -R users install 遞迴把install資料夾以及其下的所有資料夾 擁有者群組屬性改為 users群組
--磁碟與檔案管理
chgrp users install.log 把install.log 擁有者群組屬性改為 users群組
chgrp -R users install 遞迴把install資料夾以及其下的所有資料夾 擁有者群組屬性改為 users群組
--磁碟與檔案管理
du:Disk Usage 顯示磁碟使用量
df: Disk Free 顯示硬碟的剩餘空間大小
mkdir:建立資料夾,例如 mkdir abc
df: Disk Free 顯示硬碟的剩餘空間大小
mkdir:建立資料夾,例如 mkdir abc
rm:移除remove資料夾或是檔案(常用 rm -rf 檔案或資料夾路徑名稱,r代表遞迴處理多層目錄,f 表 force)
mv:移動檔案,mv 來源 目的
cp:複製檔案,常用cp -r 來源 目的
--系統管理
cp:複製檔案,常用cp -r 來源 目的
--系統管理
top:顯示 CPU , Memory , Process 的狀態
su:切換身分為root,也可以用 su 使用者,來切換成某使用者
ps:顯示目前運作中的程式。常用 ps -ef
kill:中止某支程式運作,常利用ps -ef查程式代號pid後,下kill pid_num 殺掉process
uname:.查系統版本
free:查記憶體使用
netstat:查網路使用。常用 netstat -a 或是 netstat -a | grep some_ip_address
--關機重開機
關機:init 0 , shutdown -f 都可以
重開:init 6 , shutdown -r ,reboot 都可以
kill:中止某支程式運作,常利用ps -ef查程式代號pid後,下kill pid_num 殺掉process
uname:.查系統版本
free:查記憶體使用
netstat:查網路使用。常用 netstat -a 或是 netstat -a | grep some_ip_address
--關機重開機
關機:init 0 , shutdown -f 都可以
重開:init 6 , shutdown -r ,reboot 都可以
wget:文字模式下取得遠方主機的檔案(續傳 wget -C http://檔案網址)
--文字檢視與編輯
cat: 檢視檔案內容,常用 cat xxxx.txt | more
vi : 文字編輯(vi 檔案名稱,vi當中 i
、 e、a : 進入編輯 mode 按 "ESC" 退出編輯回到command mode,--文字檢視與編輯
cat: 檢視檔案內容,常用 cat xxxx.txt | more
command mode 中,輸入:wq 代表存檔write退出q,
輸入:q 代表退出不存檔
輸入:q! 代表忽略異動,強制退出 )
--常用搭配功能
| :前面的指令用後面的過濾器來輸出
> :導向符號,前面指令的執行結果輸出到之後的檔案中
>>:導向符號,前面指令的執行結果輸出到之後的檔案中 append mode
more: 一次顯示一頁,常搭配 xxxx | more 來用
grep: 內容搜尋,常用 xxxx | grep 搜尋字串
pwd:不是密碼喔,是顯示目前所在路徑
adduser:新增使用者,新增完了再用passwd 來指定密碼passwd:更改密碼,若要改別人的就下 passwd someone
find:找尋檔案、目錄
--常用搭配功能
| :前面的指令用後面的過濾器來輸出
> :導向符號,前面指令的執行結果輸出到之後的檔案中
>>:導向符號,前面指令的執行結果輸出到之後的檔案中 append mode
more: 一次顯示一頁,常搭配 xxxx | more 來用
grep: 內容搜尋,常用 xxxx | grep 搜尋字串
pwd:不是密碼喔,是顯示目前所在路徑
adduser:新增使用者,新增完了再用passwd 來指定密碼passwd:更改密碼,若要改別人的就下 passwd someone
find:找尋檔案、目錄
2012年5月7日 星期一
2012.05.07 EOS400D 最新破解整理(by EOSCARD.EXE)
準備動作
為了要安裝400plus第三方韌體到您的400D機器上,您必須準備CF讀卡機,直接利用USB連接線連接相機將無法完成破解的動作。
相機部分
以下的步驟(相機部分)在第一次安裝400D破解韌體時才需要執行一次,之後更新就不需要了。
- 相機充滿電,準備好讀卡機,建議使用Windows環境比較簡單。
- 更新最新版官方韌體 latest firmware (1.1.1) (已更新者可略過),把官方韌體放在CF卡根目錄下,然後到設定選單中選擇"更新韌體"。
- 清空CF卡,取出CF卡,下載 testfir.fir ,利用讀卡機把檔案放到CF卡中。
- 把CF插回相機,再執行一次更新韌體,選擇'testfir.fir', 更新後,螢幕會被清空,稍微等個兩分鐘之後,關電、拔電池。
每張CF卡都需要以下的操作
400plus或其他的第三方韌體,都需要通過在CF卡上安放破解韌體(Autoexec.bin)來達成破解與加強功能的目的。
- CF卡插入相機,然後把它格式化(每一張卡都需要這樣做)。然後,依照您使用的作業系統,分別對照以下的操作方式,再次推薦使用WINDOWS系統來完成以下的操作。
- Windows: 下載執行 EOScard by pelican,執行後,勾選 EOS_DEVELOP 與 BOOTDISK 如這裡的畫面 here.
Mac: 下載執行 zeno's MacBoot 自動工序程式. - Linux: 使用如下所寫的直接方式 或是 依照這裡所寫的方式 here (the second version).
- 然後如果你想要直接操作你的CF卡,無論你使用的是 Linux、Mac 或是 Windows with cygwin or dd,你可以依照以下的指令來操作。(應該沒有人想要找自己麻煩吧...XD),注意,依照CF卡的容量,操作時得參數有些微的不同。
- FAT12 / FAT16 (CF cards up to 2GB)
- FAT32 (CF cards 4GB or larger)
- exFAT:這個格示不支援,因為磁區的檢核碼必須被計算與回寫,建議改用以上的方法。
dev=/dev/sdX1 # replace sdX1 with your CF device (first partition)
echo EOS_DEVELOP | dd of="$dev" bs=1 seek=43 count=11
echo BOOTDISK | dd of="$dev" bs=1 seek=64 count=8
dev=/dev/sdX1 # replace sdX1 with your CF device (first partition)
echo EOS_DEVELOP | dd of="$dev" bs=1 seek=71 count=11
echo BOOTDISK | dd of="$dev" bs=1 seek=92 count=8
- 到這裡下載最新的韌體檔案 latest autoexec.bin, 解開之後複製到已經通過以上處理的CF卡上.
- 如果想要獲得多國語言的支援,你必須把languages.ini也一併放上
- 恭喜你,你應該完成破解了,把做好的CF卡插回像機及可!!
在相機開機時,藍燈閃爍一下的話,就代表破解是成功的
如何更新 400plus
置換CF卡上的 autoexec.bin 與languages.ini 即可。
如何移除 400plus
對相機 所作的操作(第一步驟),例如韌體更新、安裝testfir等等是無法回復的。經過第一步驟對相機的處理後,每次像機開機,他都會嘗試到CF卡上找Autoexec.bin來執行,所以移除400plus也只需要清除CF卡上的Autoexec.bin就可以。
不過,我想你應該不會想要移除他,太方便了。
注意事項
已經破解過的CF卡,絕對不可再由相機進行格式化,請以刪除功能下的刪除所有相片取代
PSTools 遠端管理工具介紹
PSTools 妙用無窮,只要知道遠端主機的帳號密碼,防火牆允許通過,就可以用文字介面方便的管理遠端主機。
使用者新增.bat
@ECHO OFF
SET /P SERVERIP=Server IP:
SET /P SERVERUSERID=User ID:
SET /P SERVERUSERPWD=User Pwd:
SET /P CREATEUSERID=Create User ID:
SET /P CREATEUSERPWD=Create User Pwd:
PSEXEC \\%SERVERIP% -U %SERVERUSERID% -P %SERVERUSERPWD% NET USER %CREATEUSERID% %CREATEUSERPWD% /ADD /COMMENT:"Admin"
PSEXEC \\%SERVERIP% -U %SERVERUSERID% -P %SERVERUSERPWD% NET LOCALGROUP Administrators %CREATEUSERID% /ADD & PAUSE
有人會說,現在都什麼時代了,文字介面應該要淘汰才對,但是,若希望管理工作能更有效率以及減少出錯,把常用的動作寫成Batch or Script 是最明智的做法。
以下回到正題,開始介紹PSTools,檔案為zip壓縮檔,可以由這裡下載
解壓縮以後,有一堆exe檔案,這裡先依照實例來介紹,也因為只針對幾個簡單的應用來說明,所以標題我也不想寫"教學",用途太多了,入門之後的應用比較重要,我想。
Q:AP主機遠端登入連線數量已滿,可能有人卡著沒有登出,連RDP的Console也被佔用了,不想進機房,或是在外地沒辦法進機房怎麼辦?
A:假設在外地好了,連線回辦公室電腦,開始執行CMD
切換到PSTools所在路徑,輸入 psexec \\server_ip -u username -p password cmd.exe
驗證過帳號密碼後,就可以連線到遠端主機並且開啟遠端主機的cmd視窗,接下來只要查出那些人卡在主機上再把他們踢掉就好了
遠端主機的cmd上輸入
query session
可以查詢到目前主機的登入狀況,可以記下session id 或是 session name
假設記下來的id是5號要踢掉
接著輸入
logoff 5
如此,就能在不透過遠端桌面的情況下,把卡住的使用者清除掉了
Q:如何不用經過遠端桌面(RDP)快速新增主機上的使用者?
A:回到減少出錯的這個目標,當然也是為了早點做完,早點回家的理想,把使用者帳號維護的工作寫成Batch檔案是個好主意!
@ECHO OFF
SET /P SERVERIP=Server IP:
SET /P SERVERUSERID=User ID:
SET /P SERVERUSERPWD=User Pwd:
SET /P CREATEUSERID=Create User ID:
SET /P CREATEUSERPWD=Create User Pwd:
PSEXEC \\%SERVERIP% -U %SERVERUSERID% -P %SERVERUSERPWD% NET USER %CREATEUSERID% %CREATEUSERPWD% /ADD /COMMENT:"Admin"
PSEXEC \\%SERVERIP% -U %SERVERUSERID% -P %SERVERUSERPWD% NET LOCALGROUP Administrators %CREATEUSERID% /ADD & PAUSE
工具列表
工具 | 描述 |
PsExec | 可讓您在任何使用者內容中執行處理序。 |
PsFile | 顯示系統上以遠端方式開啟的檔案。 |
PsGetSid | 顯示電腦或使用者的 Windows 安全性識別碼 (SID)。 |
PsInfo | 列出有關 Windows 系統的資訊。 |
PsKill | 根據名稱或處理序識別碼刪除處理序。 |
PsList | 列出有關執行中處理序的詳細資訊。 |
PsLoggedOn | 顯示所有本機登入使用者,以及遠端資源共用使用者。 |
PsLogList | 傾印 Windows 事件記錄檔記錄。 |
PsPasswd | 變更使用者帳戶密碼。 |
PsService | 檢視和控制 Windows 服務。 |
PsShutdown | 讓電腦關閉、重新啟動、休眠或暫止。 |
PsSuspend | 暫止執行中的處理序。 |
延伸閱讀
PsTools 入門 Wes Miller
使用限制
執行工具的遠端系統上,必須啟用預設的系統管理網路共用 (admin$);
而且必須在遠端系統上開啟用於「檔案和印表機共用」的連接埠 (無論使用的是 Windows 防火牆、網際網路連線防火牆或其他防火牆產品)。
批次檔內容分享
範例一
每個月25日自動刪除資料庫前一個月的異地備份檔案,假設備份檔案的名稱為 DATABASENAME_DB_201203051300.BAK 這樣的格式
@ECHO OFF:INITSET LOCALBAK=D:\BAK
:DATETIMESET DATE_STR=%DATE%SET YEAR_STR=%DATE_STR:~0,4%SET MONTH_STR=%DATE_STR:~5,2%SET DAY_STR=%DATE_STR:~8,2%
SET /A PRE_YEAR_STR=%YEAR_STR%-1SET /A PRE_MONTH_STR=%MONTH_STR%-1
IF %PRE_MONTH_STR% EQU 0 (SET PRE_MONTH_STR=12& SET YEAR_STR=%PRE_YEAR_STR%)IF %PRE_MONTH_STR% LSS 10 (SET PRE_MONTH_STR=0%PRE_MONTH_STR%)
:DELETEDEL %LOCALBAK%\DATABASENAME_DB_%YEAR_STR%%PRE_MONTH_STR%*.BAK /Q
EXIT
範例二
自動複製備份目錄下的當日備份檔案到別台主機,假設是另外兩台主機。
@ECHO OFF:INITSET SVIP01=123.14.20.245SET SVIP02=123.14.20.246
SET USERNAM=ADMINISTRATORSET PW=BALABALABASET LOCALBAK=D:\DB_BAKSET REMOTEBAK=RBAK
:DATETIMESET DATE_STR=%DATE%SET YEAR_STR=%DATE_STR:~0,4%SET MONTH_STR=%DATE_STR:~5,2%SET DAY_STR=%DATE_STR:~8,2%
:CONNECTREM SV01IF EXIST Z: NET USE Z: /DELETENET USE Z: \\%SVIP01%\D$ %PW% /USER:%USERNAM%XCOPY %LOCALBAK%\DATABASE_DB_%YEAR_STR%%MONTH_STR%%DAY_STR%*.BAK Z:\%REMOTEBAK%\ /Y
REM SV02IF EXIST Z: NET USE Z: /DELETENET USE Z: \\%SVIP02%\D$ %PW% /USER:%USERNAM%XCOPY %LOCALBAK%\DATABASE_DB_%YEAR_STR%%MONTH_STR%%DAY_STR%*.BAK Z:\%REMOTEBAK%\ /Y
EXIT
範例三
自動重開機指定次數,範例為100次,Count.txt 內容為重開機次數 ,Log.txt 需自行命名建立。
@ECHO OFF
:ENVSETREM 設定次數設定檔,預設100SET COUNTFILENAME=C:\RESTART\COUNT.TXTREM 設定記錄檔位置SET LOGFILENAME=C:\RESTART\LOG.TXTREM 設定倒數秒數SET COUNTDOWN=50
FOR /F "TOKENS=1-4 DELIMS=/ " %%A IN ("%DATE%") DO (SET _MYDATE=%%A%%B%%C)FOR /F "TOKENS=1-3 DELIMS=: " %%E IN ("%TIME%") DO (SET _MYDATE=%_MYDATE%-%%E%%F%%G)FOR /F "TOKENS=1-2 DELIMS=. " %%H IN ("%_MYDATE%") DO (SET _MYDATE=%%H)
ECHO CURRENT DATE TIME IS : %_MYDATE%ECHO COUNT FILE NAME: C:\RESTART\COUNT.TXTECHO LOG FILE NAME: C:\RESTART\LOG.TXTECHO ----------------------------------------------------------------------
:JOBSTARTFOR /F %%I IN (%COUNTFILENAME%) DO SET /A RVAL=%%I-1FOR /F %%I IN (%COUNTFILENAME%) DO ECHO RESTART REMAIN: %RVAL% TIMES & ECHO %_MYDATE% REMAIN %%I TIMES >> %LOGFILENAME%FOR /F %%I IN (%COUNTFILENAME%) DO IF %RVAL% GTR 0 (CMD /C SHUTDOWN -R -T %COUNTDOWN% & ECHO %RVAL% > %COUNTFILENAME% & GOTO COMPLETE)GOTO FAIL
:FAILECHO 指定次數重開機已完成。PAUSE > NUL
:COMPLETEECHO %COUNTDOWN% 秒後重開機設定完成,請查閱LOG檔ECHO.ECHO 您可以輸入 "C" 取消本次重開機 (否則在時間到時重開)PAUSE > NULSHUTDOWN /A
範例四
多台伺服器檔案快速更新,範例為三台,可自行擴充。
@ECHO OFFREM ---------------------------DATE TIME--------------------------SET DATE_STR=%DATE%SET YEAR_STR=%DATE_STR:~0,4%SET MONTH_STR=%DATE_STR:~5,2%SET DAY_STR=%DATE_STR:~8,2%
REM -------------------------FILES LOCATION-----------------------SET FILES_LOCAL=D:\FILES_LOCALSET LOGS_LOCAL=D:\UPDATELOGSSET FILESREMOTE=WEBROOT\PROJECT
REM ---------------------------SERVER IP--------------------------SET SV01=123.14.2.174SET SV02=123.14.2.175SET SV03=123.14.2.176
ECHO 檔案快速更新ECHO.REM ---------------------------USER NAME--------------------------SET /P USERNAM=USER NAME:REM ---------------------------USER PWD--------------------------SET /P PW=PASSWORD:
:JOBSTARTREM ----------------------------INITIAL---------------------------IF EXIST Z: NET USE Z: /DELETE
REM ------------------SV01 START----------------------------------------NET USE Z: \\%SV01%\D$ %PW% /USER:%USERNAM%XCOPY %FILES_LOCAL%\*.* Z:\%FILESREMOTE%\ /E /YECHO UPDATE %SV01%: %YEAR_STR%.%MONTH_STR%.%DAY_STR% @ %TIME%ECHO UPDATE %SV01%: %YEAR_STR%.%MONTH_STR%.%DAY_STR% @ %TIME% >> %LOGS_LOCAL%\UPDATELOG_%YEAR_STR%.%MONTH_STR%.%DAY_STR%.TXTNET USE Z: /DELETEPING 127.0.0.1 > NULLPING 127.0.0.1 > NULLREM ------------------SV01 END------------------------------------------
REM ------------------SV02 START----------------------------------------NET USE Z: \\%SV02%\D$ %PW% /USER:%USERNAM%XCOPY %FILES_LOCAL%\*.* Z:\%FILESREMOTE%\ /E /YECHO UPDATE %SV02%: %YEAR_STR%.%MONTH_STR%.%DAY_STR% @ %TIME%ECHO UPDATE %SV02%: %YEAR_STR%.%MONTH_STR%.%DAY_STR% @ %TIME% >> %LOGS_LOCAL%\UPDATELOG_%YEAR_STR%.%MONTH_STR%.%DAY_STR%.TXTNET USE Z: /DELETEPING 127.0.0.1 > NULLPING 127.0.0.1 > NULLREM ------------------SV02 END------------------------------------------
REM ------------------SV03 START----------------------------------------NET USE Z: \\%SV03%\D$ %PW% /USER:%USERNAM%XCOPY %FILES_LOCAL%\*.* Z:\%FILESREMOTE%\ /E /YECHO UPDATE %SV03%: %YEAR_STR%.%MONTH_STR%.%DAY_STR% @ %TIME%ECHO UPDATE %SV03%: %YEAR_STR%.%MONTH_STR%.%DAY_STR% @ %TIME% >> %LOGS_LOCAL%\UPDATELOG_%YEAR_STR%.%MONTH_STR%.%DAY_STR%.TXTNET USE Z: /DELETEPING 127.0.0.1 > NULLPING 127.0.0.1 > NULLREM ------------------SV03 END------------------------------------------
:QUITPAUSE