You can generate a CSV (Comma Separated Value) file containing:

UserName of this files owner.
Full path file name.
Total bytes the user used on this "Drive".
Size of this file.
Last Access date of this file.
Last date this file was written.

JSIDskUse.bat uses DISKUSE and is run with the following syntax:

JSIDskUse RptFolder ID Drive1 \[Drive2 Drive3 ... DriveN\]     where:

RptFolder  is the full path to the folder that will contain JSIDskUse.CSV.

ID               is either the DomainName, or ComputerName you are reporting.

Drivex        is the Drive:, Folder Path, or UNC that you are reporting. I recommend using the UNC. Valid entry types are:


You may select multiple folders on each drive instead of the entire drive, multiple drives, and all your domain servers.

NOTE: JSIDskUse can obviously produce a large CSV and runs a long time.

NOTE: You must be a appropriatley priviledged to run this script.

NOTE: To report all files owned by Administrators, use an ID of BUILTIN.

JSIDskUse.bat contains:

<b>@echo off
if "%3"<h1><a name="_goto_syntax_if_NOT_1_">"" goto syntax
if NOT "%1"</a></h1>"" goto begin
@echo Syntax: JSIDskUse RptFolder ID  Drive1 \[Drive2 Drive3 ... DriveN\]
goto end
set Folder=%1
set folder=%folder:"=%#
set folder=%folder:\#=%
set folder=%folder:#=%
set /a cnt=0
if not exist %folder%\*.* goto syntax
set Domain=%2
set Domain=%Domain:"=%
if exist %Folder%\JSIDskUse.csv del /f /q %Folder%\JSIDskUse.csv
if "%1"<h1><a name="_goto_finish_set_a_cnt_cnt_1_set_Drive_1_set_Drive_Drive_DiskUse_Drive_f_Folder_JSIDskUse_cnt_tm1_e_Folder_JSIDskUse_cnt_log_s_t_v_d_a_set_Found_N_for_f_Skip_2_Tokens_i_in_folder_JSIDskUse_cnt_tm1_do_call_parse_i_del_f_q_Folder_JSIDskUse_tm1_goto_Drv_finish_sort_lt_Folder_JSIDskUse_tm2_gt_Folder_JSIDskUse_csv_if_exist_Folder_JSIDskUse_tm2_del_f_q_Folder_JSIDskUse_tm2_endlocal_goto_end_parse_set_data_1_set_byte_data_1_1_if_byte_LSS_0_goto_fnd_if_byte_GTR_9_goto_fnd_if_not_Found_">"" goto finish
set /a cnt=%cnt% + 1
set Drive=%1
set Drive=%Drive:"=%
DiskUse %Drive% /f:%Folder%\JSIDskUse%cnt%.tm1 /e:%Folder%\JSIDskUse%cnt%.log /s /t /v /d:a
set Found=N
for /f "Skip=2 Tokens=*" %%i in (%folder%\JSIDskUse%cnt%.tm1) do call :parse "%%i"
del /f /q %Folder%\JSIDskUse*.tm1
goto Drv
sort < %Folder%\JSIDskUse.tm2 > %Folder%\JSIDskUse.csv
if exist %Folder%\JSIDskUse.tm2 del /f /q %Folder%\JSIDskUse.tm2
goto end
set data=%1
set byte=%data:~1,1%
if "%byte%" LSS "0" goto fnd
if "%byte%" GTR "9" goto fnd
if not "%Found%"</a></h1>"Y" goto end
set data=%data:"=%
set data=%data: =##%
for /f "Tokens=1-3 Delims=, " %%i in ('@echo %data%') do set sz=%%i&set datea="%%j"&set file="%%k"
set file=%file:##= %
set datew=
for /f "Skip=4 Tokens=1*" %%i in ('dir %file% /TW') do call :parse1 "%%i"
@echo %Usern%,%file%,%Totsz%,%sz%,%datea%,%datew% >> %Folder%\JSIDskUse.tm2
goto end
if not "%datew%"<h1><a name="_goto_end_set_datew_1_goto_end_fnd_set_data_data_set_data_data_##_for_f_Tokens_1_3_Delims_i_in_echo_data_do_set_ID_i_amp_set_Usern_j_amp_set_Totsz_k_set_ID_ID_##_set_Usern_Usern_##_set_Usern_Usern_if_i_not_ID_">"" goto end
set datew=%1
goto end
set data=%data:"=%
set data=%data: =##%
for /f "Tokens=1-3 Delims=, " %%i in ('@echo %data%') do set ID="%%i" & set Usern="%%j" & set Totsz=%%k
set ID=%ID:##= %
set Usern=%Usern:##= %
set Usern=%Usern:" ="%
if /i not %ID%</a></h1>"%Domain%" set Found=N&goto end
set Found=Y