因為公司有一部份電腦是未加網域的
現在要加入,故
想寫個批次檔,當USER登入網域之後
將原本機上使用的我的文件、我的桌面、我的最愛、OUTLOOK複制到網域下的USER帳戶內
但要寫第一個時就卡住了
舉例來說
本機使用者登入帳入是用ABC
現在該機已加入網域
但還是用ABC做登入,差在登網域
所以要將原本機帳戶資料夾內的ABC複制到網域ABC資料夾下
CD\
CD C:\Documents and Settings\%username%<====卡住了
問題1、如果去判斷之前USER本機帳戶是用???(依日期可以嗎?或其它方法)
問題2、剛突然想到一個方法,就是改登錄檔
HKEY_LOCAL_MACHINE\Sofware\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
但查文說是不建議改
或其它好的建議??
問題3、當我做完COPY動作後,下次重開了,應該還是會再執行一次吧?如何判斷或不執行
偷吃步
1.加網域;重開機
2.USER網域帳號登入;重開機
3.本機管理員登入
4.本機USER帳號與網域USER帳號這兩個資料夾交換名稱
5.登出;網域帳號登入
第一個問題...
abc.domain 帳號,如果只有 Localhost User 權限,是無法讀取 abc.localhost 的帳號底下的資料,你會需要管理者權限
第二個問題
你需要用 abc.domain 的帳號來將 abc.localhost 帳號底下的資料搬移過來,以確保 Owner 權限問題。
第三個問題,如果 abc.domain 帳號此次登入擁有本機管理者權限,一直到 abc.domain 登出前,都會擁有本機管理者權限,如果 abc.domain 做任何事,你都無法管制(例如:安裝軟體,另外建本機管理者帳號...)
以下是我給我很多客戶用的!
從 2000 開始用
希望對您有用!
<pre class="c" name="code">:設定來源目錄
SET SDIR=C:\Documents and Settings_back\
:如果有 A.TXT 表示已COPY過, 就到 END
if exist "%SDIR%%USERNAME%\A.TXT" goto end
:如果沒有 A.TXT 表示已沒COPY過, 就COPY
:pause
: copy 桌面
XCOPY /D/Y/S/E/C/I/R "%SDIR%%USERNAME%\桌面\*.*" "%USERPROFILE%\桌面\*.*"
:pause
: copy 我的最愛
XCOPY /D/Y/S/E/C/I/R "%SDIR%%USERNAME%\Favorites\*.*" "%USERPROFILE%\Favorites\*.*"
: COPY 完後產生A.TXT 作紀錄!
DATE /T > "%SDIR%%USERNAME%\A.TXT"
TIME /T >> "%SDIR%%USERNAME%\A.TXT"
:pause
:end
EXIT