none
Application Data快捷方式 RRS feed

  • 问题

  • C:\Users\用户名\AppData\Local 中的Application Data快捷方式被删除了  如何恢复

    mklink 不会用啊。。

    ps C:\Users\用户名\Application Data 的Application Data快捷方式 也被删除了 如何恢复

    2010年7月13日 9:55

答案

  • 因為目前電腦不在身邊, 所以測試驗證是在 Windows XP 進行的. 從目前的的測試過程看:

    cd "%localappdata%"
    mklink /j "Application Data" ".\"
    attrib +i "Application Data"

    REM 這句不需要
    REM icacls "Application Data" /inheritance:d

    icacls "Application Data" /deny "everyone":(s,rd)

    之所以在執行最後一句命令後, "Application Data" 不能像系統自建的交接點那樣直接可以通過 Windows Explorer 打開, 估計與所有者有關.

    對於這點, 晚上我會接著確認.


    Folding@Home
    • 已标记为答案 Albert666 2010年7月14日 16:32
    2010年7月14日 6:03
  • 最新方法:

    A. "%userprofile%\Application Data" 部分

    以管理員運行命令提示符并執行命令

    cd /d "C:\Users\用戶名"

    mklink /j "Application Data" .\AppData\Roaming

    attrib +s +h +i "Application Data" /l

    icacls "Application Data" /setowner system

    通過 Windows Explorer 對 "Application Data" 交接點屬性窗口的 "隱藏(H)" 復選框鉤選, 以及去掉位于 "高級(D)..." - "除了文件屬性外, 還允許索引此文件夾中文件的內容(I)" 復選框的鉤選, 在選擇 "僅將更改應用于此文件夾" 單選按鈕後, 單擊確定按鈕.

    再次以管理員身份運行命令提示符并執行命令

    cacls "Application Data" /s:"D:AI(D;;CC;;;WD)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)(A;OICIID;FA;;;$SID)"

    其中 $SID 為當前用戶的 SID, 可以在 PowerShell 下執行下面的代碼獲取:

    $objUser = New-Object System.Security.Principal.NTAccount($env:username)
    $strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
    $strSID.Value

    上述三段代碼引用至:
    http://www.microsoft.com/technet/scriptcenter/resources/pstips/feb08/pstip0201.mspx

    B. "%localappdata%\Application Data" 部分

    以管理員運行命令提示符并執行命令

    cd /d "C:\Users\用戶名\AppData\Local"

    mklink /j "Application Data" .

    attrib +s +h +i "Application Data" /l

    icacls "Application Data" /setowner system

    通過 Windows Explorer 對 "Application Data" 交接點屬性窗口的 "隱藏(H)" 復選框鉤選, 以及去掉位于 "高級(D)..." - "除了文件屬性外, 還允許索引此文件夾中文件的內容(I)" 復選框的鉤選, 在選擇 "僅將更改應用于此文件夾" 單選按鈕後, 單擊確定按鈕.

    再次以管理員身份運行命令提示符并執行命令

    cacls "Application Data" /s:"D:AI(D;;CC;;;WD)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)(A;OICIID;FA;;;$SID)"

    其中 $SID 為當前用戶的 SID, 可以在 PowerShell 下執行下面的代碼獲取:

    $objUser = New-Object System.Security.Principal.NTAccount($env:username)
    $strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
    $strSID.Value

    上述三段代碼引用至:
    http://www.microsoft.com/technet/scriptcenter/resources/pstips/feb08/pstip0201.mspx


    執行完成上述步驟後, 可以獲得與系統自行創建的 "Application Data" 交接點目前最大程度的相似度, 雖然在 Windows Explorer 雙擊該交接點彈出的提示不一樣, 但是該交接點可以隱藏, 可以在命令提示符下通過 cd 命令進行訪問.


    Folding@Home
    • 已标记为答案 Albert666 2010年7月23日 3:35
    • 已编辑 repl 2011年7月7日 8:29 補充交接點的屬性設置
    2010年7月22日 16:22

全部回复

  • 開始菜單 - 所有程序 - 附件 - 命令提示符 - 鼠標右鍵 - 彈出上下文菜單 - 選擇 "以管理員身份運行(A)" - 需要 UAC 提升權限, 然後執行下面的代碼:

    cd "%localappdata%"
    mklink /j "Application Data" ".\"
    attrib +i "Application Data"
    icacls "Application Data" /inheritance:d
    icacls "Application Data" /deny "everyone":(s,rd)


    Folding@Home

     

    • 已编辑 repl 2010年7月13日 16:11
    • 已标记为答案 Albert666 2010年7月13日 16:40
    • 取消答案标记 Albert666 2010年7月14日 6:17
    2010年7月13日 12:54
  • 修改后有什么不同。。。

    我已经用原来的代码创建了。。。

     

    2010年7月13日 14:52
  • 另外 C:\Users\用户名 中的Application Data 如何创建

     

    2010年7月13日 15:02
  • 另外 C:\Users\用户名 中的Application Data 如何创建

     


    cd "%appdata%"
    mklink /j "..\..\Application Data" ".\"
    cd "%userprofile%"
    attrib +i "Application Data"
    icacls "Application Data" /inheritance:d
    icacls "Application Data" /deny "everyone":(s,rd)
    Folding@Home
    2010年7月13日 16:09
  • 如果之前有執行命令:

    icacls "Application Data" /deny "everyone":(s,rd)

    的話, 那么請以管理員身份執行命令

    icacls "Application Data" /remove "everyone"

    因為權限設置方面存在一定問題.


    Folding@Home
    2010年7月13日 16:34
  • 另外也可以將兩個 "Application Data" 交接點的權限都設置為:

    icacls "Application Data" /grant "everyone":(s,rd)

    上一句命令

    icacls "Application Data" /inheritance:d

    不執行.


    Folding@Home
    2010年7月13日 16:41
  • 請別 "標記為答案", 其實我給出的命令在權限設置上存在問題, 其行為同系統原有的不一樣, 對于這點我會繼續研究, 看原因究竟出自哪里. 有結果的話, 會跟貼說明.
    Folding@Home
    2010年7月13日 16:46
  • 因為目前電腦不在身邊, 所以測試驗證是在 Windows XP 進行的. 從目前的的測試過程看:

    cd "%localappdata%"
    mklink /j "Application Data" ".\"
    attrib +i "Application Data"

    REM 這句不需要
    REM icacls "Application Data" /inheritance:d

    icacls "Application Data" /deny "everyone":(s,rd)

    之所以在執行最後一句命令後, "Application Data" 不能像系統自建的交接點那樣直接可以通過 Windows Explorer 打開, 估計與所有者有關.

    對於這點, 晚上我會接著確認.


    Folding@Home
    • 已标记为答案 Albert666 2010年7月14日 16:32
    2010年7月14日 6:03
  • 已然看晕了。。

    ps 为了能将c盘隐藏文件打开 找到某些游戏的存档

    我已将文件权限都改了  貌似eveyone组已经被我弄没了

    基本上eveyone 的拒绝已经被我取消了  所有者都改成了自己的管理员账号

    2010年7月14日 6:24
  • 貌似生成的东西不能用 attrib语句改为系统影藏  -_-ll
    2010年7月14日 6:26
  • 貌似生成的东西不能用 attrib语句改为系统影藏  -_-ll

    是的, 這個也是我在意的. 從目前的掌握的信息看, 系統用到某種較特殊的方式進行了創建. 如果該交接點被誤刪, 不能恢復到和系統一樣的設置, 確實比較鬱悶. 所以希望自己能找到能夠恢復到和系統一樣設置的方法.
    Folding@Home
    2010年7月14日 6:39
  • 直接一键恢复了。。。

    反正也是6月底刚买的电脑

    2010年7月14日 16:32
  • 昨天晚上有事, 沒有看. 今天晚上接著研究, 有進展就會貼上來.
    Folding@Home
    2010年7月15日 0:56
  • 因為自己的系統突然遇到一個問題, 所以關于這個問題的回復還會延遲, 不過無論最後我是否找到更好的解決方法, 都會跟貼進行說明.
    Folding@Home
    2010年7月16日 14:42
  • 不能對新建的交接點 "Application Data" 通過 attrib 命令賦予 "隱藏", "無內容索引文件屬性" 的原因, 可能與交接點名有空格有關. 通過 dir a* /ad /x 獲取該交接點的 MS-DOS 8.3 短文件名後, 可以用 attrib 賦予那兩個屬性, 但是在后續測試中發現又可以直接用 attrib 賦予交接點 "隱藏" "無內容索引文件屬性". 這交接點指向的目錄與之前那個是一樣的.
    但是無論是通過上面哪種方法設置了 "隱藏", 都不能使該交接點隱藏, 需要通過 Windows Explorer 在交接點的屬性窗口中, 勾選 "隱藏(H)" 復選框并單擊 "確定" 按鈕, 才能達到隱藏的目的, 另外對于 "無內容索引文件屬性" 也建議通過 Windows Explorer 在其屬性窗口中的 "高級屬性", 去掉 "除了文件屬性外, 還允許索引此文件夾中文件的內容(I)" 復選框, 并單擊 "確定" 按鈕.
    最後以管理員身份執行命令提示符, 并運行命令:

    icacls "交接點名" /setowner system
    REM 下面這條命令不要執行. 原因見下面
    icacls "交接點名" /deny everyone:(s,rd)

    原因: 對于系統自己創建的 "Application Data" 交接點來說, 它的屬性窗口并無 "隱藏(H)" 這些屬性復選框, 并可以通過命令提示符以 cd 命令進入到該交接點. 但用戶手動創建的則不能實現.


    Folding@Home
    2010年7月22日 14:10
  • 最新方法:

    A. "%userprofile%\Application Data" 部分

    以管理員運行命令提示符并執行命令

    cd /d "C:\Users\用戶名"

    mklink /j "Application Data" .\AppData\Roaming

    attrib +s +h +i "Application Data" /l

    icacls "Application Data" /setowner system

    通過 Windows Explorer 對 "Application Data" 交接點屬性窗口的 "隱藏(H)" 復選框鉤選, 以及去掉位于 "高級(D)..." - "除了文件屬性外, 還允許索引此文件夾中文件的內容(I)" 復選框的鉤選, 在選擇 "僅將更改應用于此文件夾" 單選按鈕後, 單擊確定按鈕.

    再次以管理員身份運行命令提示符并執行命令

    cacls "Application Data" /s:"D:AI(D;;CC;;;WD)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)(A;OICIID;FA;;;$SID)"

    其中 $SID 為當前用戶的 SID, 可以在 PowerShell 下執行下面的代碼獲取:

    $objUser = New-Object System.Security.Principal.NTAccount($env:username)
    $strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
    $strSID.Value

    上述三段代碼引用至:
    http://www.microsoft.com/technet/scriptcenter/resources/pstips/feb08/pstip0201.mspx

    B. "%localappdata%\Application Data" 部分

    以管理員運行命令提示符并執行命令

    cd /d "C:\Users\用戶名\AppData\Local"

    mklink /j "Application Data" .

    attrib +s +h +i "Application Data" /l

    icacls "Application Data" /setowner system

    通過 Windows Explorer 對 "Application Data" 交接點屬性窗口的 "隱藏(H)" 復選框鉤選, 以及去掉位于 "高級(D)..." - "除了文件屬性外, 還允許索引此文件夾中文件的內容(I)" 復選框的鉤選, 在選擇 "僅將更改應用于此文件夾" 單選按鈕後, 單擊確定按鈕.

    再次以管理員身份運行命令提示符并執行命令

    cacls "Application Data" /s:"D:AI(D;;CC;;;WD)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)(A;OICIID;FA;;;$SID)"

    其中 $SID 為當前用戶的 SID, 可以在 PowerShell 下執行下面的代碼獲取:

    $objUser = New-Object System.Security.Principal.NTAccount($env:username)
    $strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
    $strSID.Value

    上述三段代碼引用至:
    http://www.microsoft.com/technet/scriptcenter/resources/pstips/feb08/pstip0201.mspx


    執行完成上述步驟後, 可以獲得與系統自行創建的 "Application Data" 交接點目前最大程度的相似度, 雖然在 Windows Explorer 雙擊該交接點彈出的提示不一樣, 但是該交接點可以隱藏, 可以在命令提示符下通過 cd 命令進行訪問.


    Folding@Home
    • 已标记为答案 Albert666 2010年7月23日 3:35
    • 已编辑 repl 2011年7月7日 8:29 補充交接點的屬性設置
    2010年7月22日 16:22