在Windows机器上我收到此错误
'touch'不被识别为内部或外部命令,可操作程序或批处理文件.
当我按照说明做:
touch index.html app.js style.css
Run Code Online (Sandbox Code Playgroud)
有没有相当于使用'触摸'的窗户?我是否需要手动创建这些文件(并修改它们以更改时间戳)以实现此类命令?这似乎不是......节点...
Vla*_*den 232
在cmd窗口类型中:
type nul > your_file.txt
Run Code Online (Sandbox Code Playgroud)
这将在your_file.txt文件中创建0个字节.
另一种方法是使用echo命令:
echo.> your_file.txt
Run Code Online (Sandbox Code Playgroud)
回声. - 将创建一个空行中的文件.
MC *_* ND 58
Windows本身不包含touch命令.
您可以使用任何可用的公共版本,也可以使用自己的版本.保存此代码touch.cmd并将其放在路径中的某个位置
@echo off
setlocal enableextensions disabledelayedexpansion
(for %%a in (%*) do if exist "%%~a" (
pushd "%%~dpa" && ( copy /b "%%~nxa"+,, & popd )
) else (
type nul > "%%~fa"
)) >nul 2>&1
Run Code Online (Sandbox Code Playgroud)
它将迭代它的参数列表,并且对于每个元素(如果存在),更新文件时间戳,否则,创建它.
Aar*_*ark 30
您可以使用此命令:ECHO >> filename.txt
它将在当前文件夹中创建具有给定扩展名的文件.
更新:
对于空文件使用:复制NUL filename.txt
ste*_*nci 25
答案是错误的,只有在文件不存在时才有效.如果文件存在,则使用第一个不执行任何操作,第二个文件在文件末尾添加一行.
正确答案是:
copy /b filename.ext +,,
Run Code Online (Sandbox Code Playgroud)
我在这里找到了它:https://superuser.com/questions/10426/windows-equivalent-of-the-linux-command-touch/764721#764721
max*_*pan 16
在你的机器上安装 npm
在命令提示符下运行以下命令。
npm install touch-cli -g
Run Code Online (Sandbox Code Playgroud)
现在您将能够使用 touch cmd。
Ofe*_*ber 11
在命令行上使用以下命令:
fsutil file createnew filename requiredSize
Run Code Online (Sandbox Code Playgroud)
参数信息如下:
fsutil - 文件系统实用程序(您正在运行的可执行文件)
file - 触发文件操作
createnew - 要执行的操作(创建新文件)
filename - 字面意思是文件的名称
requiredSize - 将在创建的文件中分配文件大小(以字节为单位)
kay*_*eck 10
我很惊讶这里有多少答案是错的.在文件中回送任何东西都会在文件中填充类似的内容ECHO is ON,并且尝试回显$nul到文件中将$nul文本放入文件中.此外,对于PowerShell,回显$null到文件中实际上不会生成0kb文件,而是编码为UCS-2 LE BOM,如果您需要确保文件没有字节顺序标记,则可能会变得混乱.
在测试了所有答案并引用了一些类似的答案之后,我可以保证每个控制台shell都能正常工作.只需更改FileName.FileExtension为您想要的文件的完整路径或相对路径touch:
COPY NUL FILE.EXT
这将创建一个名为您放置的任何名称的新文件,而不是copy NUL FileName.FileExtension长度为0字节.除了更新时间戳之外,它不会对该文件做任何事情,如果它已经存在了FileName.FileExtension复制操作,类似但可能不完全相同的touch工作方式.我说这是一种解决方法而不是1:1的功能,但我不知道CMD的任何内置工具可以在不改变任何其他内容的情况下完成更新文件的时间戳.
if not exist FileName.FileExtension copy NUL FileName.FileExtension
它具有与CMD版本相同的功能.除了它的时间戳之外,它不会弄乱现有文件,并且它将创建一个全新的空文件,无论你决定使用什么代替if (!(Test-Path FileName.FileExtension -PathType Leaf)) {New-Item FileName.FileExtension -Type file} else {(ls FileName.FileExtension ).LastWriteTime = Get-Date}.是的,它可以在控制台中作为单线程工作; 无需将其放在PowerShell脚本文件中.
如果您不想修改现有文件的时间戳,我们可以删除if (!(Test-Path FileName.FileExtension -PathType Leaf)) {New-Item FileName.FileExtension -Type file}-clauses.
ECHO is ON
$nul
您可以使用以下命令复制touch功能:
$>>filename
Run Code Online (Sandbox Code Playgroud)
这样做是试图执行一个被调用的程序$,但是如果$不存在(或者不是产生输出的可执行文件)那么它就不会产生输出.它本质上是对功能的破解,但是您将收到以下错误消息:
'$'不被识别为内部或外部命令,可操作程序或批处理文件.
如果您不想要错误消息,那么您可以执行以下两项操作之一:
type nul >> filename
Run Code Online (Sandbox Code Playgroud)
要么:
$>>filename 2>nul
Run Code Online (Sandbox Code Playgroud)
该type命令试图显示nul的内容,它在读取时只返回EOF(文件结尾).
2>nul将错误输出(输出2)发送到nul(写入时忽略所有输入).显然,命令会使第二个命令(with 2>nul)type变为冗余,因为它可以更快地输入.但至少你现在有了选择和知识.
小智 6
使用 PowerShell,键入:ni index.html或ni style.css或ni app.js
ni <filename>.<extension>
Run Code Online (Sandbox Code Playgroud)
在Windows Powershell终端中,没有命令 - 既不是type也不echo需要 - 模拟Unix/Mac OS X的'touch'命令.只需使用以下简写:
$null > filename
Run Code Online (Sandbox Code Playgroud)
这将在您当前位置创建一个名为"filename"的空文件.使用您可能需要的任何文件扩展名,例如'.txt'.
资料来源:https://superuser.com/questions/502374/equivalent-of-linux-touch-to-create-an-empty-file-with-powershell(见评论)
如前所述
echo >> index.html
Run Code Online (Sandbox Code Playgroud)
它可以是任何文件,具有任何扩展名然后做
notepad index.html
Run Code Online (Sandbox Code Playgroud)
这将在记事本编辑器中打开您的文件
在Windows Power Shell上,可以使用以下命令:
New-Item <filename.extension>
Run Code Online (Sandbox Code Playgroud)
要么
New-Item <filename.extension> -type file
Run Code Online (Sandbox Code Playgroud)
注意:New-Item可以替换为其别名ni
对于一个非常简单的版本,touch主要用于在当前目录中创建 0 字节文件,另一种方法是创建一个touch.bat文件并将其添加到目录%Path%或将其复制到C:\Windows\System32目录,如下所示:
触摸蝙蝠
@echo off
powershell New-Item %* -ItemType file
Run Code Online (Sandbox Code Playgroud)
创建单个文件
C:\Users\YourName\Desktop>touch a.txt
目录:C:\Users\你的名字\桌面
模式 LastWriteTime 长度 名称
---- ------------- ------ ----
-a---- 2020-10-14 10:28 PM 0 a.txt
创建多个文件
C:\Users\YourName\Desktop>触摸“b.txt,c.txt”
目录:C:\Users\你的名字\桌面
模式 LastWriteTime 长度 名称
---- ------------- ------ ----
-a---- 2020-10-14 10:52 PM 0 b.txt
-a---- 2020-10-14 10:52 PM 0 c.txt
还
新项目:文件“C:\Users\YourName\Desktop\a.txt”已存在。
C:\Users\YourName\Desktop>touch d.txt,e.txt,f.txt C:\Users\YourName\Desktop>touch "g.txt, '带有空格的名称.txt'"
| 归档时间: |
|
| 查看次数: |
247315 次 |
| 最近记录: |