TinyScan 7.3

Home
Help
Features
Download
Forums
Get TinyScan at SourceForge.net. Fast, secure and Free Open Source software downloads
1. Purpose of TinyScan

A. Functional Help

2. Application Menus
3. Output Table Structure
4. Tree
5. Sorting
6. Status Bar
7. Network Drive
8. Command Line
8.1 Scheduling
9. Importing the data into another program
10. SQL Queries

B. Technical Help

11. Out of memory
12. Caution
13. Under the hood

C. And more

14. License
15. Credits
16. Home Page



1. Purpose of TinyScan

Un autre regard sur vos données.
A disk usage utility. Output a table and a tree. Export the result to Excel, Access, MySQL, etc. Report disk usage of remote computers.

A. Functional Help

2. Application Menus

New scan...


Skip Files Scan the folders only. Does not display the files.



MySQL Generate an additional file for MySQL.



Checksum Compute the checksum. The checksum is needed to later look for duplicate files. It will significantly slow down the scan.
To look for duplicates:
1. Scan with the checksum.
2. Then go to Files -> Find duplicates


*
Folder To Scan:



Scan To File:
Find duplicates

If you scanned with the checksum, you can now look for duplicates.

Open...

Open a previously saved scan.




Skip Files Only load the folders details.
Save As...

Save a scan.



MySQL Generate an additional file for MySQL.



Text
Save a tab-separated file.



UTF-8
Save a tab-separated Unicode file.



Tree
Save the tree. Text only, no data.

3. Output Table Structure

ID The line number (an index).
Path
Name
Extension For a file.
Folder True or false. For sorting.
Type Archive, audio, binary, etc.
Size (MB) The size in MB.
Size (bytes)
Items The number of items in a folder.
Date Like 1999-12-31.
Depth How far in the tree?
Full Path Length
Length of the full path (path + name).
Checksum Adler-32. Like a fingerprint, it uniquely identifies a file. See duplicate.
Duplicate True or false. If you computed the checksum, you can look for duplicates.
Parent ID of the parent folder. Used to build the tree.
ScanDate The date of the scan. For Access and MySQL.
Node A one word description of your data. For Access and MySQL.

You can move the columns.

4. Tree

The same data in a tree. You can move around with the mouse or the arrow keys.

5. Sorting

You can sort from the tree. Click "A->Z" and then select on what you want to sort: Name, Size(MB), etc.

You can also sort from the table. Click on a column header to sort: ascending, descending, not sorted (1st, 2nd, 3rd mouse click).
Ctrl + mouse click for a compound sort.
For example, sort on folder descending (2 mouse clicks) then press the Ctrl key (keep it pressed) then sort on path ascending and on name ascending.
You can sort by folders, then press the Ctrl key, then sort by files then size, etc. 

Also, after finding the duplicates, you can sort descending on Duplicate, sort also ascending on the Cheksum and descending on the Size (bytes). You can then move some columns to the right closer to the Name. Sorting the table will also sort the tree and vice versa. They are linked to the same data.

6. Status Bar

Click on the status bar to clean it.

7. Network drive

You can scan a network drive. You can also a UNC path directly. Java does not(!) need to be installed on the remote computer.

8. Command Line

TinyScan can also be run from the command line (= text mode).
On Windows, if you have it on your desktop, open a Command Prompt:
cd Desktop
java -jar tinyscan.jar --help

8.1 Scheduling

You can use TinyScan from the command line to schedule a scan. On Windows, create a batch file:
@echo off
java -jar c:\tinyscan\tinyscan.jar c:\ -f c:\tinyscan\panda.txt

Then go to Control Panel -> Scheduled Tasks to schedule it.

On Linux, you can put a script in /etc/cron.weekly for example. You can also edit the file /etc/crontab or use  the "crontab" command. Or use "at" for a one shot.

9. Importing the data into another program

You can save the scan in a file and reopen it later. With TinyScan or another program.

- TinyScan: File-> Open. If the result is too big (too much rows), check "Skip Files" in the Open dialog box.

- Excel:
File-> Open. In Files of type: chooses All Files (*.*).
Or right-click the text file then chooses Open With-> Excel.
Once the file is opened in Excel, you can decide to save it to Excel's format: File -> Save As -> Save as type: ...(*.xls).

- Access:
Open tinyscan.mdb.
Then File-> Get External Data -> Import...
-> File of type: Text File (*.txt; *.csv; *.tab; *.asc).
Delimited -> Tab. Check "First Row contains Field Names". And select the Text Qualifier: "
Then choose "In an Existing Table" -> Import to table: scan.

Then click on "Advanced" and add the following:
Date Order: YMD
Date Delimiter: -

- OpenOffice Calc:
Use the file type Text CSV (*.csv,*.txt) to import the data.

- OpenOffice Base:
File -> New -> Database
Connect to an existing database
Text
Next>>
For the "Path to text files", choose the folder containing the scan results.
Type of files: Plain text files (*.txt)
Field Separator: {Tab}
Text Separator: "

- Gnumeric won't ask any question.

- MySQL / EasyPHP / phpMyAdmin:
phpMyAdmin won't import files above 2MB. Follow the instructions from the file filename-mysql.txt.
Then, you can do your queries through phpMyAdmin's web interface.
Or directly from MySQL (there is a pager and a history between sessions on the Linux version). Or with MySQL Query Browser.

10. SQL Queries

mysql>
# Displaying the scan history:
USE tinyscan;
DROP VIEW nodes;
CREATE VIEW nodes AS
SELECT DISTINCT node, path, name, scandate
FROM scan
WHERE parent = 0
ORDER BY node, scandate;
SELECT * FROM nodes;
node
path
name
scandate
mypc C:\

2009-09-30 14:15:31
mypc
C:\

2009-09-20
15:20:37
usbdisk
/media/
disk
2009-09-20 19:18:55

# Sample query:
SELECT path, name FROM scan
WHERE type = 'audio'
AND sizemb >1
AND node = 'mypc'
AND scandate =
'2009-09-30';   # MySQL, Access

# To keep the queries simple, we remove the history:
DELETE FROM scan WHERE node='mypc' AND scandate < '2009-09-30';

SELECT path, name, date, time FROM scan
WHERE date BETWEEN '2009-07-01' AND '2009-08-01'
AND path LIKE '%documents%'
AND path NOT LIKE '%programmation%'
AND node = 'mypc';   # MySQL (with Access, use * instead of %)

mysql>
# We recompute sizemb to avoid rounding errors
SELECT ext, ROUND( SUM( sizeb ) /1024 /1024, 1 ) AS sizemb, COUNT( * ) AS nbr_of_files
FROM scan
WHERE node = 'usbdisk'
AND folder = 'false'
GROUP BY ext
ORDER BY sizemb DESC;
   # MySQL

ext
sizemb COUNT( * )
dll
3231452.6 81152
vmdk 7462.9 27183
exe 3748.4 8212
cab 3128.7 3956
iso 2979.5 7
sys
2599.4 3008
msp 1157.7 111
ZIP 1074.3 355
pdf
890.9 1066
pst
733.2 17
jpg
711.7 5647

B. Technical Help

11. Out of memory

TinyScan can run out of memory when scanning a disk or opening a saved scan. In this case:
- Use tinyscan_high_memory.bat.
- Scan a folder instead of a whole hard drive.
- Or choose the option "Skip files".
- You can also choose "Scan To File" if you plan to use the data with another application.

12. Caution

When scanning, TinyScan is processor intensive and does a lot of disk access.
So if you plan to scan a server:
- You should not do it at peak time.
- Or you should give the process a low priority.
- Or scan a drive remotly, which will at least put the processor load on the client.

Computing the checksum is processor intensive and makes the scan much slower. The Adler-32 checksum can be forged easily and is therefore unsafe for protecting against intentional modification.


13. Under the hood

TinyScan is written in Java SE with the NetBeans IDE and FindBugs. It uses the Swing API.

C. And more

14. License

Open source, BSD license.

15. Credits

Author: Thierry Salmon.
Software design contributions: Yves Vostier.

16. Home Page

http://tinyscan.sourceforge.net

Hé voilà.



©2017 Thierry Salmon