XP batch files: Create variable for current user account and find current user
this is a quick batch file recipe that is more of an appetizer than a full meal. this recipe is just a quick batch file that lets you find the user who is currently logged in when the batch file is ran by using a FOR statement and the %USERPROFILE% variable in XP.
this batch file will do the following:
find the current user logged in when the file is ran
setup a variable, user, whose value will be set to the user logged in
and then echo back the user login.
- @echo off
for /f “tokens=3 delims=\” %%i in (“%USERPROFILE%”) do (set user=%%i) 2>&1
echo “logged in user:%user%”
pause
this can be very useful when used in conjunction with other batch file commands.
if you want this info be put into a text file just use this command
- @echo off
for /f “tokens=3 delims=\” %%i in (“%USERPROFILE%”) do (set user=%%i) 2>&1
echo “%user%” > c:\%user%.txt
pause
so lets say i’m logged in as john, a file called john.txt would be created and inside of the file the user login ‘john’ will be residing.
this command/line can be changed and used for various things such as copying files to a user’s my documents or desktop or anything where you need to use the user account.
–updated code; removed do if exist statement, used a straightforward do







Piggy said on June 25, 2010
Error:
“3 Unexpected at this time”
Any suggestions?
Guest said on August 14, 2010
Perfect! Thank you!
Guest said on August 20, 2010
Piggy, i had the same thing. don’t copy the code from the web, it creates screwy characters (including the quotes, which are causing you problems). retype the quotes in code and you will be fine.
Hehehe said on October 26, 2010
don’t forget the “”
@echo off
Echo Current user: %USER% > “%USERPROFILE%%USERNAME%.txt”