1
How can I use the touch command to make an ".ignore" file from PowerShell?
I can use the command in the git Bash (MINGW64)
me@my_computer MINGW64 ~/stuff (master)
$ touch .gitignore
...but it would be great to stay in PowerShell and work around Windows desire to not have filenames which start with a period. The Bash help/man/info pages do not recognize touch. FWIW, I am following along with this tutorial and did some research with the links in the answers here but have not found an answer. When I try touch .gitignore in PowerShell I get this error msg:
PS C:\Users\_user_name_\stuff> touch .gitignore
The term 'touch' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:6
+ touch <<<< .gitignore
+ CategoryInfo : ObjectNotFound: (touch:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
new-item .gitignore -itemtype fileseems to work but is kinda clunky to type – Mr. Kennedy – 2016-08-17T01:43:11.970How can I make an alias that accepts the -itemtype?
new-alias -name touch -value new-item -itemtype filedoesn't work... – Mr. Kennedy – 2016-08-17T01:57:44.4231Just
new-item .gitignoreworks, it assumes you want a file when you're in a hard drive location. – Ƭᴇcʜιᴇ007 – 2016-08-17T03:15:52.483@Ƭᴇcʜιᴇ007 yes it does, but it'd be nice to just have two words to type in. I'm looking into how to make a PS function so I can add a 'touch' alias to my profile which presumes a type: file. Thanks. – Mr. Kennedy – 2016-08-17T03:19:59.780
1How is "new-item .gitignore" and different than "touch .gitignore"? Since you now know you don't need the "-itemtype", then you should be able to simply alias new-item as "touch". Having said that, "new-item" already has an alias: "ni". So
ni .gitignoreshould work fine for what you're asking, and it's even shorter. :) – Ƭᴇcʜιᴇ007 – 2016-08-17T03:24:11.953@Ƭᴇcʜιᴇ007 "ni"ce :) good to know! The only difference is that
niornew-itemrequire either-itemtype fileor answering theType:query - just more keystrokes is all. I'm a PS novice, so partly I am just poking at it trying to learn my way around. I think I have a simple function I can use now tho:function touch_file {new-item $args[0] -itemtype file} new-alias -name touch -value touch_fileand I can just entertouch .filename. Added it to my profile and it appears to work! Yay! – Mr. Kennedy – 2016-08-17T03:35:53.073The way you get around Windows' not wanting to start a filename with a period is by adding a second period to the end, in this case name the file
.gitignore.. Windows will recognize that this means you are sure that you want the name to start with a period, and will create the file as.gitignorewithout the second period. – Moshe Katz – 2016-08-17T05:16:31.020@MosheKatz good to know! This works fine but still requires verbosely including
-itemtype filewith the command or answering the Type query when the command is entered without the specification flag. – Mr. Kennedy – 2016-08-17T05:30:30.557