我想用腳本「重置」用戶的配置文件。批處理或腳本來重置特定配置文件
我需要做的就是從用戶輸入中收集一個字符串。從字符串中取第一個字母。
如:Auser01
轉到該配置文件是在特定的服務器文件夾:
EG:一個用戶在Server1上的文件夾中,B用戶在Server2上。
最後將該文件夾和文件的管理員所有權和重命名它。
EG:Auser01_old
我怕我真的不知道從哪裏設置字符串開始分開!希望有人能指導我寫這個和什麼語言。批處理腳本是我開始的地方。
我想用腳本「重置」用戶的配置文件。批處理或腳本來重置特定配置文件
我需要做的就是從用戶輸入中收集一個字符串。從字符串中取第一個字母。
如:Auser01
轉到該配置文件是在特定的服務器文件夾:
EG:一個用戶在Server1上的文件夾中,B用戶在Server2上。
最後將該文件夾和文件的管理員所有權和重命名它。
EG:Auser01_old
我怕我真的不知道從哪裏設置字符串開始分開!希望有人能指導我寫這個和什麼語言。批處理腳本是我開始的地方。
你可以做這樣的事情,ICACLS
用於攝取文件夾的所有權,REN
用於重命名文件夾,使用戶輸入一個字母(A或B),則if
語句超出所需的命令(服務器或服務器B )icacls
和ren
命令運行並且腳本結束。如果你需要進一步的解釋讓我知道。 更改username_or_usergroup
到要採取所有權
@echo off
setlocal EnableExtensions EnableDelayedExpansion
cls
:User_input
Set/p "input=Username>"
set letter=%input:~0,1%
:Check_server
If "%Letter%" == "a" (
Goto ServerA
)
if "%Letter%" == "b" (
Goto ServerB
)
Goto END
:ServerA
icacls \\ServerA\%input% /grant username_or_usergroup:F /t /q
Ren \\ServerA\%input% \\ServerA\%input%_old
Goto END
:ServerB
icacls \\ServerB\%input% /grant username_or_usergroup:F /t /q
Ren \\ServerB\%input% \\ServerB\%input%_old
Goto END
:END
用戶這是我得到的輸出測試
這是天才的感謝!我現在正在嘗試並定製它。 – Jamwatn
似乎不起作用。我有點想知道它想做什麼。 我需要將腳本的第一部分保留在頂部嗎? (即:設置/ p用戶名=輸入用戶名:) 我不知道我是否正確解釋。我想提取%username%的第一個字母。例如,如果第一個字母是A,則轉到服務器1等,然後在該服務器中找到該文件夾。 所以我希望我只需要一個字符串被捕獲。現在混淆自己! – Jamwatn
如果你看看'Set Folder =%letter %% username%''%username%'是一個與當前用戶相同的windows var,所有用戶必須輸入的字母是A或B,所以如果User01被記錄'%username%'將等於User01所以'%folder%'將等於AUser01,如果用戶鍵入A和BUser01,如果用戶鍵入B – Valorax
完美的時候!這無疑給了我一個開始工作和定製我自己的方式。我可以肯定地推薦這個腳本'重置'配置文件並重命名/更改特定文件夾中的文件夾所有權和名稱,並按字母索引。 謝謝。
很高興聽到它的工作,你可以接受我的回答上面看到它的工作感謝。 – Valorax
你可以發佈你到目前爲止嘗試過的嗎? EG:你已經開始的批處理腳本 – Valorax
我已經從字面上得到了這個: @echo off set/p username =輸入用戶名: – Jamwatn