Получить данные из другого файла Excel

Получить данные из другого файла Excel

У меня есть таблица Excel, содержащая список имен пользователей.

У каждого пользователя будет следующий код. Мне просто нужно найти способ заменить First.Last на имена в таблице Excel. Там более 800 имен, и я могу сделать это вручную. Это просто очень утомительно.

echo Y | takeown /F "F:\Users\First.Last" /R
icacls "F:\USERS\First.Last" /reset /T /C /Q
icacls "F:\USERS\First.Last" /inheritance:r /T /C /Q
icacls "F:\USERS\First.Last" /grant:r system:(oi)(ci)f /t /c /Q
icacls "F:\USERS\First.Last" /grant:r "Site admins":(oi)(ci)f /t /c /Q
icacls "F:\USERS\First.Last" /grant:r "Domain admins":(oi)(ci)f /t /c /Q
icacls "F:\USERS\First.Last" /grant:r "CREATOR OWNER":(OI)(CI)F /T /C /Q
icacls "F:\USERS\First.Last" /grant:r First.Last:(oi)(ci)f /t /c /Q
icacls "F:\USERS\First.Last" /remove:g "everyone" /T /C /Q
icacls "F:\USERS\First.Last" /remove:g "administrators" /T /C /Q
icacls "F:\USERS\First.Last" /remove Everyone /T /C /Q
icacls "F:\USERS\First.Last" /remove:g "COURTS\administrator.account" /T /C /Q
icacls "F:\USERS\First.Last" /remove "COURTS\administrator.account" /T /C /Q
icacls "F:\Users\First.Last" /setowner "COURTS\First.Last" /c /t /Q
icacls "F:\USERS\First.Last" /inheritance:e /T /C /Q
net share First.Last$ /delete
icacls "F:\USERS\First.Last" /remove:g "system" /T /C /Q
icacls "F:\USERS\First.Last" /remove "system" /T /C /Q
icacls "F:\USERS\First.Last" /remove:g "Site Admins" /T /C /Q
icacls "F:\USERS\First.Last" /remove "Site Admins" /T /C /Q
icacls "F:\USERS\First.Last" /remove:g "Domain Admins" /T /C /Q
icacls "F:\USERS\First.Last" /remove "Domain Admins" /T /C /Q
icacls "F:\USERS\First.Last" /remove:g "Creator Owner" /T /C /Q
icacls "F:\USERS\First.Last" /remove "Creator Owner" /T /C /Q

решение1

Если вам нужно получить список имен из Excel, то скопируйте и вставьте список имен в блокнот и сохраните какимена.txtкак показано ниже.

притвориться, что содержимое names.txt

tim x
bob y
pete z
joe a

Откройте блокнот и вставьте это: (сохраните какdoit.bat)

for /f "delims=@" %i in (names.txt) do @echo call perms.bat "%i"

Эта линия будет вызыватьperms.batдля каждого имени пользователя, найденного вимена.txt

Если вы хотите сделать всех пользователей в f:\users*.* и отказаться от Excel вообще, сделайте следующее: Вместо оператора for выше. Перейдите в блокнот и вставьте это:

for /D %i in ("f:\users\*.*") do call perms.bat "%~ni"

сохраните его и назовите doit.bat

откройте блокнот и поместите ваш код немного измененным. Сохраните и назовите его perms.bat

echo Y | takeown /F "F:\Users\%1" /R
icacls "F:\USERS\%1" /reset /T /C /Q
icacls "F:\USERS\%1" /inheritance:r /T /C /Q
icacls "F:\USERS\%1" /grant:r system:(oi)(ci)f /t /c /Q
icacls "F:\USERS\%1" /grant:r "Site admins":(oi)(ci)f /t /c /Q
icacls "F:\USERS\%1" /grant:r "Domain admins":(oi)(ci)f /t /c /Q
icacls "F:\USERS\%1" /grant:r "CREATOR OWNER":(OI)(CI)F /T /C /Q
icacls "F:\USERS\%1" /grant:r %1:(oi)(ci)f /t /c /Q
icacls "F:\USERS\%1" /remove:g "everyone" /T /C /Q
icacls "F:\USERS\%1" /remove:g "administrators" /T /C /Q
icacls "F:\USERS\%1" /remove Everyone /T /C /Q
icacls "F:\USERS\%1" /remove:g "COURTS\administrator.account" /T /C /Q
icacls "F:\USERS\%1" /remove "COURTS\administrator.account" /T /C /Q
icacls "F:\Users\%1" /setowner "COURTS\%1" /c /t /Q
icacls "F:\USERS\%1" /inheritance:e /T /C /Q
net share %1$ /delete
icacls "F:\USERS\%1" /remove:g "system" /T /C /Q
icacls "F:\USERS\%1" /remove "system" /T /C /Q
icacls "F:\USERS\%1" /remove:g "Site Admins" /T /C /Q
icacls "F:\USERS\%1" /remove "Site Admins" /T /C /Q
icacls "F:\USERS\%1" /remove:g "Domain Admins" /T /C /Q
icacls "F:\USERS\%1" /remove "Domain Admins" /T /C /Q
icacls "F:\USERS\%1" /remove:g "Creator Owner" /T /C /Q
icacls "F:\USERS\%1" /remove "Creator Owner" /T /C /Q

перейдите в административную командную строку.

Если вы хотите выполнить это в реальном времени, сделайте следующее:

типdoit.bat

Если вы хотите сохранить команды в файл:

for /f "delims=@" %i in (perms.bat) do echo echo %i ^>^>all.txt  >>txt.bat

резервное копированиеperms.batеще где. Затем переименуйте txt.bat вperms.batи выполнитьdoit.bat Затем, когда вы бежитеdoit.batвсе команды будут отображаться в виде обычного текста ввсе.txt. Затем вы можете скопировать и вставить результаты в Excel, если вам это необходимо.

Связанный контент