Using the Corrected version of SubInAcl, I have scripted Own.bat to return the owner of the file or folder you specify.

The syntax for using own.bat is:

call own FileOrFolder OwnerVariable


<b>FileOrFolder</b>  is the path to the file or folder whose owner you want to determine.

<b>OwnerVariable</b> is a <a href="/article/jsifaq/jsi-tip-5535-how-can-i-cause-a-called-batch-file-to-return-a-call-directed-environment-variable-.aspx">call directed environment variable</a> that will contain the owner.
Own.bat contains:
@echo off
if \{%2\}<h1><a name="_echo_Syntax_Own_FileOrFolder_OwnerVariable_amp_goto_EOF_if_not_exist_1_echo_Syntax_Own_FileOrFolder_1_NOT_found_amp_goto_EOF_setlocal_set_owner_NONE_set_work_TEMP_WORK__RANDOM_TMP_SubInAcl_outputlog_work_noverbose_nostatistic_file_1_for_f_Tokens_1_Delims">\{\} @echo Syntax: Own FileOrFolder OwnerVariable&goto :EOF
if not exist %1 @echo Syntax: Own FileOrFolder %1 NOT found.&goto :EOF
set owner=NONE
set work="%TEMP%\WORK_%RANDOM%.TMP"
SubInAcl /outputlog=%work% /noverbose /nostatistic /file %1
for /f "Tokens=1* Delims</a></h1>" %%a in ('type %work%^|FIND "/owner"') do (
 set owner=%%b
endlocal&set %2=%owner%