在windows机器上,我得到这个错误
“touch”不能被识别为内部或外部命令、可操作程序或批处理文件。
我遵循这些指令,似乎是linux特定的,但在标准的windows命令行上,它不是这样工作的:
touch index.html app.js style.css
windows中是否有类似于linux / mac os / unix世界中的'touch'命令?为了实现这类命令,我是否需要手工创建这些文件(并修改它们以更改时间戳)?我正在使用节点,这似乎不是很…node-ish……
对于一个非常简单的touch版本,它主要用于在当前目录中创建一个0字节的文件,另一种替代方法是创建一个touch.bat文件,并将其添加到%Path%或复制到C:\Windows\System32目录,如下所示:
touch.bat
@echo off
powershell New-Item %* -ItemType file
创建单个文件
C:\Users\YourName\Desktop>touch a.txt
Directory: C:\Users\YourName\Desktop
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2020-10-14 10:28 PM 0 a.txt
创建多个文件
C:\Users\YourName\Desktop>touch "b.txt,c.txt"
Directory: C:\Users\YourName\Desktop
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2020-10-14 10:52 PM 0 b.txt
-a---- 2020-10-14 10:52 PM 0 c.txt
Also
工作与PowerShell和命令提示符。
使用现有子目录。
如果文件已经存在,则不创建该文件:
New-Item : The file 'C:\Users\YourName\Desktop\a.txt' already exists.
对于多个文件,只创建不存在的文件。
接受逗号分隔的不带空格的文件名列表,如果需要空格则用引号括起来:
C:\Users\YourName\Desktop>touch d.txt,e.txt,f.txt
C:\Users\YourName\Desktop>touch "g.txt, 'name with spaces.txt'"
在windows命令行如cmd上替换touch命令的一个简单方法是:
type nul > your_file.txt
这将在your_file.txt文件中创建0个字节。
这也是在windows批处理文件中使用的一个很好的解决方案。
另一种方法是使用echo命令:
echo.> your_file.txt
的回声。-将创建一个只有一行空的文件。
如果您需要保存文件的内容,请使用>>而不是>
> Creates a new file
>> Preserves content of the file
例子
type nul >> your_file.txt
也可以使用call命令。
在不停止父批处理程序的情况下从另一个批处理程序调用一个批处理程序。call命令接受标签作为调用的目标。
例子:
call >> your_file.txt
---
或者即使你不想让它变得困难,你也可以安装Windows Linux子系统(WSL)。然后,类型。
wsl touch
or
wsl touch textfilenametoedit.txt
不需要引号。