通过Windows Powershell创建新文件

通过Windows Powershell创建新文件,windows,powershell,createfile,Windows,Powershell,Createfile,我在谷歌上搜索了以下问题,但找不到任何答案。 有人能帮我吗; 通过Windows Powershell创建新文件的命令是什么?我猜您正在尝试创建文本文件 New-Item c:\scripts\new_file.txt -type file 其中“C:\scripts\new_file.txt”是完全限定路径,包括文件名和扩展名 取自使用echo创建文件 echo some-text > filename.txt 例如: C:\>echo This is a sample te

我在谷歌上搜索了以下问题,但找不到任何答案。 有人能帮我吗;
通过Windows Powershell创建新文件的命令是什么?

我猜您正在尝试创建文本文件

New-Item c:\scripts\new_file.txt -type file
其中“C:\scripts\new_file.txt”是完全限定路径,包括文件名和扩展名


取自

使用echo创建文件

echo some-text  > filename.txt
例如:

C:\>echo This is a sample text file > sample.txt
C:\>type sample.txt
This is a sample text file
C:\>
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>
使用fsutil创建文件的步骤

fsutil file createnew filename number_of_bytes
例如:

C:\>echo This is a sample text file > sample.txt
C:\>type sample.txt
This is a sample text file
C:\>
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>
局限性

Fsutil只能由管理员使用。对于非管理员用户,它会抛出以下错误

c:\>fsutil file /?
FSUTIL实用程序要求您具有管理权限。 c:>

希望这有帮助

street smart(快速、肮脏但有效):(可能会更改文件并添加不可见字符,这可能会导致编译器失败)

教科书方法:

New-Item -path <path to the destination file> -type file


缺少-path参数意味着它将在当前工作目录中创建它。这里是在Powershell中创建空白文本文件的另一种方法,允许您指定编码

第一个示例

对于空白文本文件:

Out-File C:\filename.txt -encoding ascii
如果没有编码ascii,Powershell默认为Unicode。如果希望另一个源可读或可编辑,则必须指定
ascii

用新文本覆盖文件:

"Some Text on first line" | Out-File C:\filename1.txt -encoding ascii
这会将
filename.txt中的任何文本替换为
第一行的一些文本。

将文本追加到当前文件内容:

"Some More Text after the old text" | Out-File C:\filename1.txt -encoding ascii -Append
指定
-Append
将保留
filename.txt
的当前内容,并在旧文本之后添加
更多文本,使当前内容保持不变

ni filename.txt
用您的文件替换
filename.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
此命令的默认别名设置为
ni
,但如果您习惯使用unix命令,则可以轻松创建自己的自定义命令

创建一个
触摸
命令作为
新文件
,如下所示:

Set-Alias -Name touch -Value New-Item
此新别名将允许您创建新文件,如下所示:

touch filename.txt
这将使这3个命令等效:

New-Item filename.txt
ni filename.txt
touch filename.txt
请记住,要使其持久化,应将别名添加到powershell配置文件中。要获取它的位置,只需在ps上运行
$profile
。如果您想直接编辑它,请运行
code$profile
(对于VSCode)、
vim$profile
(对于vim)或其他任何方法。

另一种方法(我喜欢的方法)


来源:

您要创建什么类型的
文件
?或者换句话说,文件扩展名是什么?像.txt.docx等…奇怪的是,我得到了很多关于你的结果,不要期望别人比你愿意做的更多-1++,但请注意,你不是在创建一个文本文件,而是在创建一个零字节(空文件)-它没有固有的类型。这应该是答案。Get、Start、New等是cmdlet的新时代,对sysadmin来说非常好。只是留下了旧命令。请不要建议使用
echo
——这是很少需要的
Write-Output
cmdlet的别名,因为在PowerShell世界中推广它是一个坏习惯。新手需要了解PowerShell的隐式输出模型:
'some-text'>filename.txt
。如果您的代码是
cmd.exe
code(它也可以这样工作),请注意问题被标记了。这里要指出的是
ni
newitem
命令的默认别名。可以通过
gal-definition
命令查看特定命令的别名信息,例如
gal-definition New Item
。我非常喜欢这个答案。此外,ni(新项)使用UTF-8编码创建文件,echo使用ucs-2 le bom(UTF-16)编码创建文件。除非更改编码,否则使用echo创建的文件大小将是原来的两倍。这是最简单的。请注意,在运行此命令时,我的powershell要求输入类型,我在
文件中输入了很多很棒的选项,尤其是带有工作目录的缩写cmd
ni
New-Item filename.txt
ni filename.txt
touch filename.txt
New-Item -ItemType file -Value 'This is just a test file' -Path C:\Users\Rick\Desktop\test.txt