1

I've been managing data at my work for over 20 years and we've always used tapes written with the unix command tar. The biproduct of this is a tar table of contents that I store for reference when retrieving files from the tapes. We started using Beyond Compare recently for moving files from our live server to a UNC share that is sync'd with Azure Cloud Storage. I am looking for a way to replicate the look and information of the tar output table as close as possible to maintain continuity with the thousands of tables I already have.

Here's an example of what the format looks like:

drwxrwsr-x myusername/domain users 0 2020-02-14 18:41 oldcomputer/
drwxrwsr-x myusername/domain users 0 2020-02-14 18:44 oldcomputer/6gu4hryi.default/
-rw-rw-r-- myusername/domain users 13795 2020-01-27 19:20 oldcomputer/6gu4hryi.default/abook.mab
-rw-rw-r-- myusername/domain users 16198 2020-02-14 13:43 oldcomputer/6gu4hryi.default/addons.json
-rw-rw-r-- myusername/domain users 1957 2020-01-30 13:46 oldcomputer/6gu4hryi.default/addonStartup.json.lz4
-rw-rw-r-- myusername/domain users 0 2020-01-30 13:46 oldcomputer/6gu4hryi.default/AlternateServices.txt
-rw-rw-r-- myusername/domain users 524288 2014-12-03 17:02 oldcomputer/6gu4hryi.default/blist.sqlite
-rw-rw-r-- myusername/domain users 575337 2018-11-26 19:53 oldcomputer/6gu4hryi.default/blocklist-addons.json
-rw-rw-r-- myusername/domain users 27953 2017-05-22 17:51 oldcomputer/6gu4hryi.default/blocklist-gfx.json
-rw-rw-r-- myusername/domain users 139100 2018-09-12 18:54 oldcomputer/6gu4hryi.default/blocklist-plugins.json
-rw-rw-r-- myusername/domain users 843726 2020-02-14 13:47 oldcomputer/6gu4hryi.default/blocklist.xml
-rw-rw-r-- myusername/domain users 163840 2018-12-06 18:43 oldcomputer/6gu4hryi.default/cert8.db
-rw-rw-r-- myusername/domain users 327680 2019-08-26 14:30 oldcomputer/6gu4hryi.default/cert9.db
-rw-rw-r-- myusername/domain users 208 2020-01-30 13:46 oldcomputer/6gu4hryi.default/compatibility.ini
-rw-rw-r-- myusername/domain users 229376 2019-12-09 13:51 oldcomputer/6gu4hryi.default/content-prefs.sqlite
-rw-rw-r-- myusername/domain users 524288 2020-02-14 13:49 oldcomputer/6gu4hryi.default/cookies.sqlite
-rw-rw-r-- myusername/domain users 32768 2020-01-30 13:46 oldcomputer/6gu4hryi.default/cookies.sqlite-shm
-rw-rw-r-- myusername/domain users 524704 2020-02-06 13:47 oldcomputer/6gu4hryi.default/cookies.sqlite-wal
-rw-rw-r-- myusername/domain users 23 2017-07-18 13:34 oldcomputer/6gu4hryi.default/directoryTree.json
-rw-rw-r-- myusername/domain users 972 2019-11-21 13:10 oldcomputer/6gu4hryi.default/extension-preferences.json
-rw-rw-r-- myusername/domain users 44697 2020-02-14 13:51 oldcomputer/6gu4hryi.default/extensions.json
-rw-rw-r-- myusername/domain users 5242880 2019-12-09 13:51 oldcomputer/6gu4hryi.default/favicons.sqlite
-rw-rw-r-- myusername/domain users 32768 2020-01-30 13:46 oldcomputer/6gu4hryi.default/favicons.sqlite-shm
-rw-rw-r-- myusername/domain users 0 2020-01-30 13:46 oldcomputer/6gu4hryi.default/favicons.sqlite-wal
-rw-rw-r-- myusername/domain users 3304 2020-01-30 13:46 oldcomputer/6gu4hryi.default/folderTree.json
-rw-rw-r-- myusername/domain users 196608 2014-12-03 17:06 oldcomputer/6gu4hryi.default/formhistory.sqlite
-rw-rw-r-- myusername/domain users 242614272 2020-02-14 17:08 oldcomputer/6gu4hryi.default/global-messages-db.sqlite
-rw-rw-r-- myusername/domain users 183894016 2016-10-24 12:21 oldcomputer/6gu4hryi.default/global-messages-db.sqlite.old
-rw-rw-r-- myusername/domain users 995 2019-11-25 13:12 oldcomputer/6gu4hryi.default/handlers.json
-rw-rw-r-- myusername/domain users 95639 2020-01-30 13:46 oldcomputer/6gu4hryi.default/history.mab
-rw-rw-r-- myusername/domain users 16384 2018-12-06 18:43 oldcomputer/6gu4hryi.default/key3.db
-rw-rw-r-- myusername/domain users 294912 2018-12-06 18:43 oldcomputer/6gu4hryi.default/key4.db
-rw-rw-r-- myusername/domain users 1900544 2019-11-15 12:53 oldcomputer/6gu4hryi.default/kinto.sqlite
-rw-rw-r-- myusername/domain users 22665 2015-08-24 19:13 oldcomputer/6gu4hryi.default/localstore.rdf
-rw-rw-r-- myusername/domain users 1717 2019-06-03 13:40 oldcomputer/6gu4hryi.default/logins.json
-rw-rw-r-- myusername/domain users 504 2014-12-03 17:02 oldcomputer/6gu4hryi.default/mailViews.dat
-rw-rw-r-- myusername/domain users 5676 2018-08-08 18:28 oldcomputer/6gu4hryi.default/mimeTypes.rdf
-rw-rw-r-- myusername/domain users 294597 2020-02-14 17:13 oldcomputer/6gu4hryi.default/panacea.dat
-rw-rw-r-- myusername/domain users 131072 2020-02-14 17:17 oldcomputer/6gu4hryi.default/permissions.sqlite
-rw-rw-r-- myusername/domain users 64 2016-07-25 12:51 oldcomputer/6gu4hryi.default/persdict.dat
-rw-rw-r-- myusername/domain users 906 2018-12-06 18:43 oldcomputer/6gu4hryi.default/pkcs11.txt
-rw-rw-r-- myusername/domain users 5242880 2020-02-12 18:44 oldcomputer/6gu4hryi.default/places.sqlite
-rw-rw-r-- myusername/domain users 32768 2020-01-30 13:46 oldcomputer/6gu4hryi.default/places.sqlite-shm
-rw-rw-r-- myusername/domain users 2262680 2020-02-12 22:02 oldcomputer/6gu4hryi.default/places.sqlite-wal
-rw-rw-r-- myusername/domain users 1475 2020-01-30 13:46 oldcomputer/6gu4hryi.default/pluginreg.dat
drwxrwsr-x myusername/domain users 0 2020-02-14 18:41 oldcomputer/6gu4hryi.default/blocklists/
-rw-rw-r-- myusername/domain users 879908 2019-11-15 12:53 oldcomputer/6gu4hryi.default/blocklists/addons.json
-rw-rw-r-- myusername/domain users 139100 2019-11-02 12:39 oldcomputer/6gu4hryi.default/blocklists/plugins.json
drwxrwsr-x myusername/domain users 0 2020-02-14 18:41 oldcomputer/6gu4hryi.default/calendar-data/
-rw-rw-r-- myusername/domain users 98304 2015-09-08 12:53 oldcomputer/6gu4hryi.default/calendar-data/deleted.sqlite
-rw-rw-r-- myusername/domain users 753664 2020-01-15 13:29 oldcomputer/6gu4hryi.default/calendar-data/local.sqlite
-rw-rw-r-- myusername/domain users 32768 2020-01-30 13:46 oldcomputer/6gu4hryi.default/calendar-data/local.sqlite-shm
-rw-rw-r-- myusername/domain users 0 2020-01-30 13:46 oldcomputer/6gu4hryi.default/calendar-data/local.sqlite-wal
drwxrwsr-x myusername/domain users 0 2020-02-14 18:41 oldcomputer/6gu4hryi.default/crashes/
-rw-rw-r-- myusername/domain users 66 2020-01-30 13:47 oldcomputer/6gu4hryi.default/crashes/store.json.mozlz4
drwxrwsr-x myusername/domain users 0 2015-08-26 13:40 oldcomputer/6gu4hryi.default/crashes/events/
drwxrwsr-x myusername/domain users 0 2020-02-14 18:41 oldcomputer/6gu4hryi.default/datareporting/
-rw-rw-r-- myusername/domain users 164 2019-11-21 06:00 oldcomputer/6gu4hryi.default/datareporting/session-state.json
-rw-rw-r-- myusername/domain users 51 2016-09-06 15:14 oldcomputer/6gu4hryi.default/datareporting/state.json
drwxrwsr-x myusername/domain users 0 2020-02-14 18:41 oldcomputer/6gu4hryi.default/extensions/
-rw-rw-r-- myusername/domain users 7069 2014-12-03 17:09 oldcomputer/6gu4hryi.default/extensions/[email protected]
-rw-rw-r-- myusername/domain users 219319 2019-04-02 18:12 oldcomputer/6gu4hryi.default/extensions/{3ed8cc52-86fc-4613-9026-c1ef969da4c3}.xpi
-rw-rw-r-- myusername/domain users 919233 2019-03-29 19:00 oldcomputer/6gu4hryi.default/extensions/{9ed238c0-af95-11e0-9f1c-0800200c9a66}.xpi
-rw-rw-r-- myusername/domain users 4419959 2020-01-30 13:46 oldcomputer/6gu4hryi.default/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}.xpi
drwxrwsr-x myusername/domain users 0 2020-02-14 18:41 oldcomputer/6gu4hryi.default/gmp/
drwxrwsr-x myusername/domain users 0 2017-05-22 12:15 oldcomputer/6gu4hryi.default/gmp/WINNT_x86-msvc/
drwxrwsr-x myusername/domain users 0 2020-02-14 18:43 oldcomputer/6gu4hryi.default/ImapMail/
-rw-rw-r-- myusername/domain users 1306 2016-10-20 14:38 oldcomputer/6gu4hryi.default/ImapMail/imap.gmail.com.msf

If unfamiliar with unix, the first column tells if it is a directory (starts with d) or a file (has - instead of d) and then the read/write/execute for different levels, next is username/domain then group, then filesize in bytes, then date time and finally filename or directory name.

I am most concerned with getting the output that shows the date/time, size and full path to the file or directory. Additional data like user and permissions are a bonus if possible.

I've tried replicating this with CMD dir and can get the complete path listing using dir /s /b /ON but it does not contain the date/time size. I have also tried dir /s /n /ON which does give me the date/time size but it gives only the filename without the path.

I don't know what to do short of writing a script to piece things together but my skills are not great. Can someone offer a suggestion?

EDIT

Unfortunately I cannot upvote harrymc due to not having a reputation above 15. I used that answer but had to add the -Autosize to allow for all data to be shown. Here's the modified solution.

powershell "Get-ChildItem -Recurse -Attributes !Directory | select-object Mode, @{N=\"Owner\";E={ (Get-Acl $_.FullName).Owner }}, Length, LastWriteTime, FullName | Format-Table -AutoSize"

EDIT2 I thought it was working but it was still truncating using Format-Table -Autosize so I tried the Export-csv route and it appears to be working without problem. Here's the modified solution:

powershell "Get-ChildItem -Recurse -Attributes !Directory 198798/198798-oa-211013-dsf-00-CLD | select-object Mode, @{N=\"Owner\";E={ (Get-Acl $_.FullName).Owner }}, Length, LastWriteTime, FullName | Export-Csv -Path z:\tmp\test.csv -NoTypeInformation"

1 Answer 1

0

This PowerShell command is quite near to your goal:

Get-ChildItem -Attributes !Directory | select-object Mode, @{N="Owner";E={ (Get-Acl $_.FullName).Owner }}, Length, LastWriteTime, FullName | Format-Table

To execute it from the Command Prompt (CMD), use the following:

powershell "Get-ChildItem -Attributes !Directory | select-object Mode, @{N=\"Owner\";E={ (Get-Acl $_.FullName).Owner }}, Length, LastWriteTime, FullName | Format-Table"

By using Export-Csv instead of Format-Table, you can create a CSV file that can be used in Excel or other utilities.

3
  • This is fantastic and appears to fit what I need. The only problem I'm having with it is that it appears to not recurse subdirectories. I'm seeing information about the files from within the directory I'm currently in (using the command prompt version above), but only files in the root of that directory. Can this be extended to include all files and directories within a directory? Thanks for your help on this. I've been tracking this off and on for a while now and am really trying to get something in place.
    – dinki
    Commented Oct 21, 2021 at 14:48
  • You may use Get-ChildItem -Recurse. See Get-ChildItem.
    – harrymc
    Commented Oct 21, 2021 at 15:11
  • I was going to say Format-Table -AutoSize, but you got there first.
    – harrymc
    Commented Oct 21, 2021 at 18:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .