다른 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에 붙여넣을 수 있습니다.

관련 정보