2014年8月27日 星期三

Chrome 37 (x86/ x64) 更漂亮的字型美化渲染與新的bug

今天,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 所設定的字型就會生效。

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平台的魅力以及ARM架構處理器所帶來的威脅,所以紛紛表態支持Android開源項目,實際上,就是希望x86平台可以更Smooth的執行利用Android原始碼重新編譯過的x86項目。
  • Android的系統,本身有了重大的進步,平板與手機可以共用同一版本的系統,這意味著移植到各方面較接近平板電腦的小筆電,能夠更順利。
  • Android-x86計畫參與者的努力不懈。


我們可以由以下兩篇報導,了解到現今CPU大廠對於Android平台的態度。

總之,現在安裝Android在Notebook/Netbook上,只要主要的硬體設備能夠驅動,絕對會有令人驚喜的感覺。一直以來對家人淘汰掉的Msi U100小筆電無論跑Windows系列、Mac OSX、或是Ubuntu,都感到系統運作的很吃力的我來說,成功的把U100 裝上Android系統,的確讓人有耳目一新的感覺。


安裝的過程其實不難,就是手續比較多一點點。

實際安裝前我們要先準備幾樣東西:
  1. 1G或2G隨身碟一隻,太大的空間其實用不到。
  2. UNetbootin,功能是要把下載來的ISO轉為可開機的隨身碟。
  3. Android-x86-4.0-RC2 ISO
  4. 小筆電一台
下載ISO檔案時要注意,目前只要依照型號下載RC2這個版本就好,雖然目前所支援的特定型號不多,如果沒有合適的,可以試試看 eeepc、thinkpad、或是ASUS Laptops這幾個版本。

例如:我的Msi U100逐一測試到RC2 的thinkpad 能夠完美的驅動幾乎所有的硬體(除了有線網路),我就選擇了這個版本。安裝前的測試方式,在後面會說明。

安裝步驟如下:
  1. 插上隨身碟,格式化成FAT32
  2. 執行UNetbootin,選擇ISO映像檔,並指向到下載好的Android x86 ISO檔。然後選擇隨身碟的磁碟機代號,按確定,就可以製作可用來開機測試或安裝的隨身碟。
  3. 製作好開機隨身碟以後,我們就可以把隨身碟,安插在小筆電上,開機,選擇USB隨身碟開機(開機後到BIOS或是由BootMenu中指定為USB HDD開機)
  4. 因為還不確定所下載的ISO對於自己小筆電的支援性好不好,所以我們先不安裝系統,取而代之的,我們先選擇 Run Android without Installation
  5. 實際利用隨身碟開機到系統中,測試看看這個版本的硬體支援如何,最主要要考量的是:無線網路、顯示解析度、滑鼠、WebCam、觸控板(可否控制到左右滑動)
  6. 若下載的ISO檔,並沒有辦法合乎需求,可以重新下載另一個ISO(還是4.0 RC2),重新格式化或刪除隨身碟上的資料後,再用UNetbootin再製作一次開機隨身碟,再次測試,直到找到滿意的ISO檔。
  7. 找到滿意的ISO檔案後,開機時,就可以選擇Install Android to harddisk,真正的把系統裝起來。
  8. 安裝的過程,必須在Choose Partioion的地方建立兩個分割區,第一個sda1是用來放系統的,第二個sda2是用來當作sdcard裝置的。兩個都要格式化(設定)成 type 83的 ext3格式,而且sda1要設定為bootable,最後要記得write。(http://kalug.linux.org.tw/~lloyd/LLoyd_Hand_Book/book/cfdisk-howto.html
  9. 格式化好兩個分割區就可以選擇sda1進行安裝,是否要安裝GRUB開機管理程式,選YES
  10. 是否要建立一個可以讀寫的/system資料夾也要選擇YES。
  11. 安裝完成,重新開機。
重新開機後,就進入到了初始設定的歡迎畫面,簡單設定一下後,就可以看到桌面了。但我們還有兩個最重要的問題要解決。

  • 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 顯示詳細資料)

|權限屬性  |  大小  |  擁有者 與 群組   |    大小  |   日期     時間 |    名稱    |     
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  ) 
chown:改變擁有者資訊
                將檔案 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群組


--磁碟與檔案管理
duDisk Usage 顯示磁碟使用量
df
 Disk Free 顯示硬碟的剩餘空間大小
mkdir:建立資料夾,例如 mkdir abc
rm:移除remove資料夾或是檔案(常用 rm -rf  檔案或資料夾路徑名稱,r代表遞迴處理多層目錄,f 表 force)
mv:移動檔案,mv  來源 目的
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 都可以

--網路連線
ftp xxx.xxx.xxx.xxx:搭配指令使用(bye、ls、bash、bin、ascii、lcd、put、get、mput、mget、pwd、quit...)
wget:文字模式下取得遠方主機的檔案(續傳 wget -C http://檔案網址)


--文字檢視與編輯
cat: 檢視檔案內容,常用 cat xxxx.txt | more
vi : 文字編輯(vi 檔案名稱,vi當中 i  e、a : 進入編輯 mode 按 "ESC" 退出編輯回到command mode,
                         command mode 中,輸入:wq 代表存檔write退出q,
                                                              輸入:q     代表退出不存檔
                                                              輸入:q!    代表忽略異動,強制退出 )


--常用搭配功能
| :前面的指令用後面的過濾器來輸出
>  :導向符號,前面指令的執行結果輸出到之後的檔案中 
>>:導向符號,前面指令的執行結果輸出到之後的檔案中 append mode
more: 一次顯示一頁,常搭配 xxxx | more 來用
grep: 內容搜尋,常用 xxxx | grep 搜尋字串
pwd:不是密碼喔,是顯示目前所在路徑
adduser:新增使用者,新增完了再用passwd 來指定密碼passwd:更改密碼,若要改別人的就下 passwd someone
find:找尋檔案、目錄
who:顯示目前線上使用者






2012年5月7日 星期一

2012.05.07 EOS400D 最新破解整理(by EOSCARD.EXE)

準備動作

為了要安裝400plus第三方韌體到您的400D機器上,您必須準備CF讀卡機,直接利用USB連接線連接相機將無法完成破解的動作。


相機部分

以下的步驟(相機部分)在第一次安裝400D破解韌體時才需要執行一次,之後更新就不需要了。
  1. 相機充滿電,準備好讀卡機,建議使用Windows環境比較簡單。
  2. 更新最新版官方韌體 latest firmware (1.1.1) (已更新者可略過),把官方韌體放在CF卡根目錄下,然後到設定選單中選擇"更新韌體"。
  3. 清空CF卡,取出CF卡,下載 testfir.fir ,利用讀卡機把檔案放到CF卡中。
  4. 把CF插回相機,再執行一次更新韌體,選擇'testfir.fir', 更新後,螢幕會被清空,稍微等個兩分鐘之後,關電、拔電池。

每張CF卡都需要以下的操作

400plus或其他的第三方韌體,都需要通過在CF卡上安放破解韌體(Autoexec.bin)來達成破解與加強功能的目的。
  1. 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)
      •   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
      • FAT32 (CF cards 4GB or larger)
      •   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
      • exFAT:這個格示不支援,因為磁區的檢核碼必須被計算與回寫,建議改用以上的方法。
  1. 到這裡下載最新的韌體檔案 latest autoexec.bin, 解開之後複製到已經通過以上處理的CF卡上.
  2. 如果想要獲得多國語言的支援,你必須把languages.ini也一併放上
  3. 恭喜你,你應該完成破解了,把做好的CF卡插回像機及可!!
在相機開機時,藍燈閃爍一下的話,就代表破解是成功的

如何更新 400plus

置換CF卡上的 autoexec.bin 與languages.ini 即可。

如何移除 400plus

相機 所作的操作(第一步驟),例如韌體更新、安裝testfir等等是無法回復的。經過第一步驟對相機的處理後,每次像機開機,他都會嘗試到CF卡上找Autoexec.bin來執行,所以移除400plus也只需要清除CF卡上的Autoexec.bin就可以。

不過,我想你應該不會想要移除他,太方便了。


注意事項

已經破解過的CF卡,絕對不可再由相機進行格式化,請以刪除功能下的刪除所有相片取代

PSTools 遠端管理工具介紹

PSTools 妙用無窮,只要知道遠端主機的帳號密碼,防火牆允許通過,就可以用文字介面方便的管理遠端主機。

有人會說,現在都什麼時代了,文字介面應該要淘汰才對,但是,若希望管理工作能更有效率以及減少出錯,把常用的動作寫成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檔案是個好主意!
     
       使用者新增.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




     

工具列表
工具 描述
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
:INIT
SET LOCALBAK=D:\BAK

:DATETIME
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%

SET /A PRE_YEAR_STR=%YEAR_STR%-1
SET /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%)

:DELETE
DEL %LOCALBAK%\DATABASENAME_DB_%YEAR_STR%%PRE_MONTH_STR%*.BAK /Q

EXIT


範例二
自動複製備份目錄下的當日備份檔案到別台主機,假設是另外兩台主機。

@ECHO OFF
:INIT
SET SVIP01=123.14.20.245
SET SVIP02=123.14.20.246

SET USERNAM=ADMINISTRATOR
SET PW=BALABALABA
SET LOCALBAK=D:\DB_BAK
SET REMOTEBAK=RBAK

:DATETIME
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%

:CONNECT
REM SV01
IF EXIST Z: NET USE Z: /DELETE
NET USE Z: \\%SVIP01%\D$ %PW% /USER:%USERNAM%
XCOPY %LOCALBAK%\DATABASE_DB_%YEAR_STR%%MONTH_STR%%DAY_STR%*.BAK Z:\%REMOTEBAK%\ /Y

REM SV02
IF EXIST Z: NET USE Z: /DELETE
NET 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

:ENVSET
REM 設定次數設定檔,預設100
SET COUNTFILENAME=C:\RESTART\COUNT.TXT
REM 設定記錄檔位置
SET LOGFILENAME=C:\RESTART\LOG.TXT
REM 設定倒數秒數
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.TXT
ECHO LOG FILE NAME:   C:\RESTART\LOG.TXT
ECHO ----------------------------------------------------------------------

:JOBSTART
FOR /F %%I IN (%COUNTFILENAME%) DO SET /A RVAL=%%I-1
FOR /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

:FAIL
ECHO 指定次數重開機已完成。
PAUSE > NUL

:COMPLETE
ECHO %COUNTDOWN% 秒後重開機設定完成,請查閱LOG檔
ECHO.
ECHO 您可以輸入 "C" 取消本次重開機 (否則在時間到時重開)
PAUSE > NUL
SHUTDOWN /A

範例四
多台伺服器檔案快速更新,範例為三台,可自行擴充。

@ECHO OFF
REM ---------------------------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_LOCAL
SET LOGS_LOCAL=D:\UPDATELOGS
SET FILESREMOTE=WEBROOT\PROJECT

REM ---------------------------SERVER IP--------------------------
SET SV01=123.14.2.174
SET SV02=123.14.2.175
SET SV03=123.14.2.176

ECHO 檔案快速更新 
ECHO.
REM ---------------------------USER NAME--------------------------
SET /P USERNAM=USER NAME:
REM ---------------------------USER  PWD--------------------------
SET /P PW=PASSWORD:

:JOBSTART
REM ----------------------------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 /Y
ECHO 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%.TXT
NET USE Z: /DELETE
PING 127.0.0.1 > NULL
PING 127.0.0.1 > NULL
REM ------------------SV01 END------------------------------------------

REM ------------------SV02 START----------------------------------------
NET USE Z: \\%SV02%\D$ %PW% /USER:%USERNAM%
XCOPY %FILES_LOCAL%\*.* Z:\%FILESREMOTE%\ /E /Y
ECHO 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%.TXT
NET USE Z: /DELETE
PING 127.0.0.1 > NULL
PING 127.0.0.1 > NULL
REM ------------------SV02 END------------------------------------------

REM ------------------SV03 START----------------------------------------
NET USE Z: \\%SV03%\D$ %PW% /USER:%USERNAM%
XCOPY %FILES_LOCAL%\*.* Z:\%FILESREMOTE%\ /E /Y
ECHO 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%.TXT
NET USE Z: /DELETE
PING 127.0.0.1 > NULL
PING 127.0.0.1 > NULL
REM ------------------SV03 END------------------------------------------

:QUIT
PAUSE