Advertisement
Guest User

Untitled

a guest
Jan 31st, 2015
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 2.75 KB | None | 0 0
  1. @echo off
  2. setlocal
  3. SETLOCAL ENABLEDELAYEDEXPANSION
  4.  
  5. :: Jättefult work around för tomma delims
  6. :: http://stackoverflow.com/questions/17556976/batch-script-skipping-blank-entries-in-a-csv-when-delim-is
  7. setlocal EnableDelayedExpansion
  8. set count=1
  9. FOR /F "delims=" %%L in (UserData.csv) DO (
  10.     set "line=%%L;;;;;;;;"
  11.     set "line=#!line:;=;#!"
  12.     FOR /F "tokens=1-12 delims=;" %%a in ("!line!") DO (
  13.         set "param1=%%a"
  14.         set "param2=%%b"
  15.         set "param3=%%c"
  16.         set "param4=%%d"
  17.         set "param5=%%e"
  18.         set "param6=%%f"
  19.         set "param7=%%g"
  20.         set "param8=%%h"
  21.         set "param9=%%i"
  22.         set "param10=%%j"
  23.         set "param11=%%k"
  24.         set "param12=%%l"
  25.         set "param1=!param1:~1!"
  26.         set "param2=!param2:~1!"
  27.         set "param3=!param3:~1!"
  28.         set "param4=!param4:~1!"
  29.         set "param5=!param5:~1!"
  30.         set "param6=!param6:~1!"
  31.         set "param7=!param7:~1!"
  32.         set "param8=!param8:~1!"
  33.         set "param9=!param9:~1!"
  34.         set "param10=!param10:~1!"
  35.         set "param11=!param11:~1!"
  36.         set "param12=!param12:~1!"
  37.  
  38.         echo !param1! !param2! !param5!
  39.     echo %%a %%b %%e
  40.  
  41.     set departmentShort=!param5:~0,1!!param5:~-1!
  42.     CALL :LoCase departmentShort
  43.     echo !departmentShort!
  44.  
  45.     set nameShort=!param1:~0,1!!param3:~0,1!
  46.     CALL :LoCase nameShort
  47.     echo !nameShort!
  48.  
  49.     :: user
  50.     set result=""
  51.     call :getUserNum !nameShort! 111 !departmentShort! result
  52.     set result=!nameShort!!result!!departmentShort!
  53.     echo !result!
  54.  
  55.  
  56.     :: Skapa användaren
  57.     REM dsadd user cn=MikeDan,cn=users,dc=company,dc=test -fn <FistName> -mi <Initial> -display <DisplayName -pwd <Password> -memberof <Group> -tel
  58. <PhoneNumber> -email <Email> -title <Title> -dept <Department> -samid <samid> -disabled no
  59.    
  60.     set /a count=!count!+1
  61.     )
  62. )
  63. goto:eof
  64.  
  65.  
  66.  
  67.  
  68. :getUserNum
  69. dsquery user OU=Users,OU=Kalmar,OU=CompanyTest,DC=company,DC=test -samid %1%2%3|find /v "" >nul
  70. if errorlevel 1 (
  71.     set %4=%2
  72.     goto:eof
  73. ) else (
  74.     set /a newNum=%2*2
  75.     set result=""
  76.  
  77.     call :checkUser %1 !newNum! %3 result  
  78.     set %4=!result!
  79.     goto:eof
  80. )
  81.  
  82.  
  83. :LoCase
  84. :: Subroutine to convert a variable VALUE to all lower case.
  85. :: The argument for this subroutine is the variable NAME.
  86. SET %~1=!%1:A=a!
  87. SET %~1=!%1:B=b!
  88. SET %~1=!%1:C=c!
  89. SET %~1=!%1:D=d!
  90. SET %~1=!%1:E=e!
  91. SET %~1=!%1:F=f!
  92. SET %~1=!%1:G=g!
  93. SET %~1=!%1:H=h!
  94. SET %~1=!%1:I=i!
  95. SET %~1=!%1:J=j!
  96. SET %~1=!%1:K=k!
  97. SET %~1=!%1:L=l!
  98. SET %~1=!%1:M=m!
  99. SET %~1=!%1:N=n!
  100. SET %~1=!%1:O=o!
  101. SET %~1=!%1:P=p!
  102. SET %~1=!%1:Q=q!
  103. SET %~1=!%1:R=r!
  104. SET %~1=!%1:S=s!
  105. SET %~1=!%1:T=t!
  106. SET %~1=!%1:U=u!
  107. SET %~1=!%1:V=v!
  108. SET %~1=!%1:W=w!
  109. SET %~1=!%1:X=x!
  110. SET %~1=!%1:Y=y!
  111. SET %~1=!%1:Z=z!
  112. SET %~1=!%1:Å=å!
  113. SET %~1=!%1:Ä=ä!
  114. SET %~1=!%1:Ö=ö!
  115. GOTO:EOF
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement