{"id":13342155,"url":"https://github.com/hmz777/New-File-Tool","last_synced_at":"2025-03-12T00:30:59.889Z","repository":{"id":124108407,"uuid":"291098302","full_name":"hmz777/New-File-Tool","owner":"hmz777","description":"A tool that lets you create empty files on the fly wherever you want.","archived":false,"fork":false,"pushed_at":"2023-01-26T11:46:55.000Z","size":92,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-04T18:51:45.572Z","etag":null,"topics":["csharp","material-design","netframework","netframework47","pinvoke","productivity","tool","winforms"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hmz777.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2020-08-28T16:47:57.000Z","updated_at":"2023-05-17T00:06:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"499fa89b-9bd6-4648-ae50-28d9629945e8","html_url":"https://github.com/hmz777/New-File-Tool","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmz777%2FNew-File-Tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmz777%2FNew-File-Tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmz777%2FNew-File-Tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hmz777%2FNew-File-Tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hmz777","download_url":"https://codeload.github.com/hmz777/New-File-Tool/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243136265,"owners_count":20241987,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["csharp","material-design","netframework","netframework47","pinvoke","productivity","tool","winforms"],"created_at":"2024-07-29T19:28:04.498Z","updated_at":"2025-03-12T00:30:59.883Z","avatar_url":"https://github.com/hmz777.png","language":"C#","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg width=\"200px\" height=\"200px\" src=\"https://i.imgur.com/9eD84sP.png\" /\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"GitHub\" src=\"https://img.shields.io/github/license/hmz777/New-File-Tool?color=blue\u0026style=flat-square\"\u003e\n  \u003cimg alt=\"GitHub release (latest by date)\" src=\"https://img.shields.io/github/v/release/hmz777/New-File-Tool?color=orange\u0026label=latest%20release\u0026style=flat-square\"\u003e\n  \u003cimg alt=\"GitHub Release Date\" src=\"https://img.shields.io/github/release-date/hmz777/New-File-Tool?color=yellow\u0026style=flat-square\"\u003e\n  \u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/hmz777/New-File-Tool?color=green\u0026style=flat-square\"\u003e\n\u003c/p\u003e\n\n# New File Tool\nBasically, this is a tool that lets you create empty files on the fly wherever you want.\n\n# Why?\nWell I always find myself creating .bat and .ps1 files that aren't present in the New Context menu and adding every file that I want to the menu using the registry ShellNew key was ugly so I created this tool.\n\n# How?\nThe app uses Pinvoke to grab the **Active Windows Explorer** window you're working in, get the path that is open in it, and set it as the path that you'll be creating paths relative to.\nIf it doesn't find an **Active** \"explorer.exe\" window, it creates your file on the desktop directory.\n\n# Features\n- The app registers a System-wide Hot Key (L-Shift + Q), a combination of keys that when pressed can activate the app and bring it to the topmost.\n- Can create full paths, not just files i.e, \"dir\\file.txt\" creates a directory with the name \"dir\" and \"file.txt\" inside it. \n- You can add file attribute flags so you can mark the file as `hidden`, `system`, or `readonly`.\nSomething like this: ***\\dir1\\dir2\\file.txt \u003e -h -s -r***.\n- If you don't have an **active** \"explorer.exe\" window or you're in a special system folder like the root directory \"This PC\" or \"Recycle Bin\" the app creates your file on the desktop directory.\n- The app starts minimized with a tray icon and can be brought to the front via the tray context menu with the \"Show\" button or via the defined HotKey.\n\n# Binaries\n[Download NewFileTool](https://github.com/hmz777/New-File-Tool/releases/download/v1.1/NewFileTool.zip)\n\n# Notes\nMost of the code that you'll see in this repository is from [Pinvoke](http://www.pinvoke.net/) and StackOverflow. I only stitched them together and added some code of my own to create this tool.\n\n# Development Notes\nThis project references the following COM libraries:\n- Microsoft Shell Controls And Automation\n- Microsoft Internet Controls\n\nYou don't have to reference them, I only did it to expose the **Shell, ShellWindows, and InternetExplorer** types in the [Tools](https://github.com/hmz777/New-File-Tool/blob/master/Helpers/Tools.cs) Class for IntelliSense purposes only, you can just leave them as dynamic and compile. See [here](https://github.com/hmz777/New-File-Tool/blob/33dbba8669db3ca1067573a9ce17839c6b3471a2/Helpers/Tools.cs#L32).\n\n# Upcoming Features\n- ~~I will be adding file attribute flags so you can mark the file as `hidden`, `system`, or `readonly`. Something like this: ***\\dir1\\dir2\\file.txt \u003e -h -s -r***~~ Done! :white_check_mark:\n- An option for entering absolute paths instead of relative ones. \n\n# Author\nHamzi Alsheikh\n\nWebsite: [https://www.hamzialsheikh.tk](https://www.hamzialsheikh.tk)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhmz777%2FNew-File-Tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhmz777%2FNew-File-Tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhmz777%2FNew-File-Tool/lists"}