{"id":48631975,"url":"https://github.com/thrive4/util.fb.cmdsqlite","last_synced_at":"2026-04-09T05:32:58.691Z","repository":{"id":193060152,"uuid":"688032168","full_name":"thrive4/util.fb.cmdsqlite","owner":"thrive4","description":"import and export tool for sqlite written in freebasic with sqlite3","archived":false,"fork":false,"pushed_at":"2025-10-26T11:52:56.000Z","size":4950,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-26T13:23:22.560Z","etag":null,"topics":["csv","educational","export","folders","html","import","json","mht","mp3-cover-image","mp3-tags","sql","sqlite3","xml"],"latest_commit_sha":null,"homepage":"","language":"FreeBASIC","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thrive4.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-09-06T14:04:34.000Z","updated_at":"2025-10-26T11:53:00.000Z","dependencies_parsed_at":"2025-04-18T16:45:11.410Z","dependency_job_id":null,"html_url":"https://github.com/thrive4/util.fb.cmdsqlite","commit_stats":null,"previous_names":["thrive4/util.fb.cmdsqlite"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/thrive4/util.fb.cmdsqlite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thrive4%2Futil.fb.cmdsqlite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thrive4%2Futil.fb.cmdsqlite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thrive4%2Futil.fb.cmdsqlite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thrive4%2Futil.fb.cmdsqlite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thrive4","download_url":"https://codeload.github.com/thrive4/util.fb.cmdsqlite/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thrive4%2Futil.fb.cmdsqlite/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31587867,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"online","status_checked_at":"2026-04-09T02:00:06.848Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csv","educational","export","folders","html","import","json","mht","mp3-cover-image","mp3-tags","sql","sqlite3","xml"],"created_at":"2026-04-09T05:32:58.589Z","updated_at":"2026-04-09T05:32:58.665Z","avatar_url":"https://github.com/thrive4.png","language":"FreeBASIC","funding_links":[],"categories":[],"sub_categories":[],"readme":"## cmdsqlite [![Github All Releases](https://img.shields.io/github/downloads/thrive4/util.fb.cmdsqlite/total.svg)]()\r\nbasic import / export util written in freebasic with sqlite3\r\nsupported file types or extensions:\r\n.csv, .db, .json, .html, .sql, .xml\r\n\r\nAllows for export of data in sqlite database via sql query,\r\nor a folder plus filespec, to csv, json, html(table), sql and xml\r\nand import of csv, json and xml via conversion to sql.\r\n\r\nSpecial support for .mp3 or .jpg this will extract the\r\ntag info and or create media links in the generated html table\r\nplus checkfile which verifies if file excists according to path\r\nand file in specified field.\r\n\r\nSee included help, or tutorial.txt in data folder, for more details\r\ncmdsqlite.exe /?  (or -h, -help, etc)\r\nNote: [folder] [filespec] folders are scanned recursively for filespec\r\n\r\n## usage\r\n- **basic**\r\ncmdsqlite.exe [dbname] [query]\r\nexample: cmdsqlite.exe game.db \"select name from game where name like 'a%'\"\r\ncmdsqlite.exe [folder] [filespec] [exporttype]\r\nexample: cmdsqlite.exe g:dataimagesclassic *.jpg csv\r\n\r\n- verfiy if file excists according to path and file in specified field\r\n[dbname] [query] checkfile [field name]\r\ncheckfile returns -1 if the file exists, otherwise zero 0\r\n\r\n- export to html(table)\r\nexample: cmdsqlite.exe game.db \"select name, developer from game\" html\r\nexports query result to an html sortable table (using templates)\r\n\r\n- export to html(table) via folder\r\nexample: cmdsqlite.exe g:data\\mp3\\classic *.mp3 html\r\nexports all files and subsequent folders in 'g:datamp3classic'\r\nto an html sortable table (using templates)\r\n\r\n- export to json\r\nexample: cmdsqlite.exe game.db \"select name, developer from game\" json\r\nequivelent of:\r\nselect json_object('name', name, 'developer', developer) from game\" json\r\n\r\n- export to csv\r\nexample: cmdsqlite.exe game.db \"select name, developer from game\" csv\r\n\r\n- export all tables in database\r\ncmdsqlite.exe \u003cdatabase\u003e export \u003cexporttype\u003e\r\nexample: cmdsqlite.exe test.db export sql\r\nnote: supports sql, csv and xml\r\n\r\n- export coverart in mp3\r\nexample: cmdsqlite.exe g:data\\mp3\\classic *.mp3 cover\r\nexports cover art (.jpr or .png) in mp3 to folder cover and generates report\r\nwith width / height, thumbnail info, etc of .jpg or .png if present\r\n\r\n- supplement exporttype: 'exif' as optional fourth parameter\r\nexample: cmdsqlite.exe g:data\\images\\paris *.jpg csv exif\r\ngenerates report with\r\nwidth / height in .jpg or .png if present\r\n\r\n- example: cmdsqlite.exe g:data\\images\\paris *.jpg html exif\r\nfilespec *.jpg creates imageviewer\r\n\r\n- example: cmdsqlite.exe g:data\\mp3\\classic *.mp3 html exif\r\nfilespec *.mp3 gets tag info and creates audio link\r\n\r\n- supplement exporttype: 'web' as optional fourth parameter\r\nexample: cmdsqlite.exe g:\\data\\mp3\\classic *.mp3 json web\r\nfilespec *.mp3 gets tag info and creates audio link\r\nsimilar to html exif but adds a file column and\r\ntruncates file path assumes wwwroot/audio on webserver\r\n\r\n- import via sql of csv, json or xml\r\ncmdsqlite.exe [filename].csv\r\ncreates a [filename].sql\r\ncan be verified and the imported to sqlite database via:\r\ncmdsqlite.exe [dbname] [filename.sql]\r\n\r\n- basic info database and tables\r\ncmdsqlite.exe [dbname] showtables\r\ndisplays table names contained in [dbname]\r\ncmdsqlite.exe [dbname] showfields [tablename]\r\ndisplays fieldnames contained in [tablename]\r\n\r\n- **catalog**\r\ncatalog metric data of folder on drive\r\ntable archive: label, capacity, space, foldersize\r\ntable data:    label, folder, data, size\r\n\r\n example: cmdsqlite.exe e:\\ catalog sql\r\n          cmdsqlite.exe \u003cpath\u003e catalog \u003cexporttype = sql\u003e\r\n the resulting sql can be imported into a database\r\n\r\n note: for practical reasons the drives label should be unique\r\n       both table defnitions for archive and data are created\r\n       twice, to initalize the database and once for removing\r\n       old data, if the drive was previously cataloged.\r\n\r\n- **convert**\r\n.mht files are converted to .txt and .html\r\nusage: \u003cfilename\u003e.mht\r\nexample: cmdsqlite.exe g:datatextdemo.mht\r\ncreates a folder \u003cfilename\u003e and extracts all files in the .mht\r\nplus converts the main .html to a sperate wordwrapped text file.\r\n\r\n## install\r\nopen zip file and copy contents to preferd folder\r\nthis application is **portable**.\r\n\r\n## configuration\r\noptions via conf/conf.ini\r\n\r\n## requirements\r\nsqlite.dll 32-bit DLL (x86) for SQLite version 3.49.1\r\nhttps://www.sqlite.org/download.html\r\n## performance (query and data size dependent)\r\nwindows 7 / windows 10(1903)\r\nram usage ~10MB / 10MB\r\nhandles   ~30 / ~50\r\nthreads   1 / 3\r\ncpu       ~1 (low) / ~2\r\ntested on intel i5-6600T\r\n\r\n## navigation\r\ncli keyboard\r\n\r\n## example report output export coverart mp3\r\n\r\nafter scanning a folder:\r\nscanning and exporting mp3 covers(s)....\r\nno cover found in james ingram and michael mcdonald - yah mo b there\r\nno cover found in julian lennon - too late for goodbyes\r\nno cover found in nik kershaw - human racing\r\n...\r\nh: 298 / w: 300 - g:\\data\\mp3\\10am\\alison krauss \u0026 union station - find my way back to my heart.mp3\r\nh: 360 / w: 480 - g:\\data\\mp3\\10am\\annie lennox - waiting in vain.mp3\r\nh: 497 / w: 500 - g:\\data\\mp3\\10am\\bagdad cafe - calling you.mp3\r\n...\r\nthumbnail in g:\\data\\mp3\\70s schmaltz\\don mclean - american pie.mp3\r\nthumbnail in g:\\data\\mp3\\70s schmaltz\\elton john and kiki dee - dont go breaking my heart.mp3\r\n...\r\ncoverart not square w: 320 / h: 180 - g:\\data\\mp3\\70s schmaltz\\andrew gold - never let her slip away.mp3\r\n...\r\nfinished scanning 65 file(s)\r\nexported 54 covers(s) to f:\\dev\\freebasic\\projects\\mp3\\cover\r\n\r\n## special thanks\r\ntips on commandline parsing via:\r\nhttps://www.freebasic.net/forum/viewtopic.php?t=31889 code by coderJeff\r\ndata set vgsales via:\r\nhttps://gist.github.com/zhonglism/f146a9423e2c975de8d03c26451f841e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthrive4%2Futil.fb.cmdsqlite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthrive4%2Futil.fb.cmdsqlite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthrive4%2Futil.fb.cmdsqlite/lists"}