I have googled for the below question, but could not find any answer. Can someone help me on this; What is the command to create a new file through Windows Powershell?
To create file using echo
echo some-text > filename.txt
Example:
C:\>echo This is a sample text file > sample.txt
C:\>type sample.txt
This is a sample text file
C:\>
To create file using fsutil
fsutil file createnew filename number_of_bytes
Example:
fsutil file createnew sample2.txt 2000
File C:\sample2.txt is created
C:\data>dir
01/23/2016 09:34 PM 2,000 sample2.txt
C:\data>
Limitations
Fsutil can be used only by administrators. For non-admin users it throws up below error.
c:\>fsutil file /?
The FSUTIL utility requires that you have administrative privileges. c:>
Hope this helps!
echo
- an alias for the rarely needed Write-Output
cmdlet - because it is a bad habit to promote in the PowerShell world. Newcomers need to be guided towards PowerShell's implicit output model: 'some-text' > filename.txt
. If your code is meant to be cmd.exe
code (it also works as that), please note the the question is tagged powershell. –
Fanaticize I'm guessing you're trying to create a text file?
New-Item c:\scripts\new_file.txt -type file
Where "C:\scripts\new_file.txt" is the fully qualified path including the file name and extension.
Taken from TechNet article
To create file using echo
echo some-text > filename.txt
Example:
C:\>echo This is a sample text file > sample.txt
C:\>type sample.txt
This is a sample text file
C:\>
To create file using fsutil
fsutil file createnew filename number_of_bytes
Example:
fsutil file createnew sample2.txt 2000
File C:\sample2.txt is created
C:\data>dir
01/23/2016 09:34 PM 2,000 sample2.txt
C:\data>
Limitations
Fsutil can be used only by administrators. For non-admin users it throws up below error.
c:\>fsutil file /?
The FSUTIL utility requires that you have administrative privileges. c:>
Hope this helps!
echo
- an alias for the rarely needed Write-Output
cmdlet - because it is a bad habit to promote in the PowerShell world. Newcomers need to be guided towards PowerShell's implicit output model: 'some-text' > filename.txt
. If your code is meant to be cmd.exe
code (it also works as that), please note the the question is tagged powershell. –
Fanaticize street smart (quick, dirty but works): (might change the file and add an invisible character which might cause the compiler to fail)
$null > file.txt
$null > file.html
Textbook method:
New-Item -path <path to the destination file> -type file
example:
New-Item -path "c:\" -type file -name "somefile.txt"
OR
ni file.xt -type file
absence of -path parameter means it creates it in the current working directory
ni
with working directory –
Racketeer ni filename.txt
Replace filename.txt
with your file .
I found this the simplest answer to the question, and refer to other answers for more details.
ni
is a default alias for the New-Item
command. Alias information for a specific command can be view via the gal -definition
command, e.g. gal -definition New-Item
. –
Engraft file
–
Platina Here is another way to create a blank text file in Powershell which allows you to specify the encoding.
First example
For a blank text file:
Out-File C:\filename.txt -encoding ascii
Without -encoding ascii
, Powershell defaults to Unicode. You must specify ascii
if you want it to be readable or editable by another source.
Overwriting the file with new text:
"Some Text on first line" | Out-File C:\filename1.txt -encoding ascii
This replaces whatever text is in filename.txt
with Some Text on first line.
Appending text to the current file contents:
"Some More Text after the old text" | Out-File C:\filename1.txt -encoding ascii -Append
Specifying -Append
leaves the current contents of filename.txt
alone and adds Some More Text after the old text
to the end of the file, leaving the current content intact.
As many have already pointed out, you can create files with the New-File
command.
This command has a default alias set to ni
but if you're used to unix commands you can create your own custom command easily.
Create a touch
command to act as New-File
like this:
Set-Alias -Name touch -Value New-Item
This new alias will allow you to create new files like so:
touch filename.txt
This would make these 3 commands equivalent:
New-Item filename.txt
ni filename.txt
touch filename.txt
Keep in mind that for this to be persistent, you should add the alias to your powershell profile. To get it's location simply run $profile
on ps. If you want to edit it directly, run code $profile
(for VSCode), vim $profile
(for vim) or whatever.
Another way to do it (method I like)
New-Item -ItemType file -Value 'This is just a test file' -Path C:\Users\Rick\Desktop\test.txt
Source: New-Item
Use the New-item cmdlet and your new file name.
New-item <filename>
Example:
New-item My_newFile.txt
# encodings:
New-Item file.js -ItemType File -Value "some content" # UTF-8
"some content" | Out-File main.js -Encoding utf8 # UTF-8-BOM
echo "some content" > file.js # UCS-2 LE BOM
The easiest way in any command line:
"" > path/to/file/filename.extension
© 2022 - 2024 — McMap. All rights reserved.
file
are you trying to create? Or in other words what file extension? Like .txt .docx etc... – Yokel