powershell - Cmd - 使用命令行在子文件夹中创建文件的最简单方法
问题描述
有什么简单的方法可以只在 readme
子文件夹中创建文本文件我想创建一个read-me.txt
包含内容 example@gmail.com
的文件我不想一个一个打开文件夹分区中有数千个文件夹C:\management
│
├───employees
│ ├───1559ad36254x
│ │ ├───work
│ │ ├───logs
│ │ └───readme
│ └───ayu6734287as
│ ├───work
│ ├───logs
│ └───readme
├───acy7wr7grill
├───acsaagsdy345rchs
├───adarsyuewoli
├───adgw843brhe
├───ahbe67ts
├───…
└───…
是否有任何命令可以在我尝试使用此命令查找目录然后使用命令创建新文件的每个readme
子目录中创建文件readme
echo
cd C:\management & for /f %x in ('dir readme /a:d /s /b') do echo example@gmail.com>%x\read-me.txt
此命令正在运行,但需要花费太多时间,因为首先它会找到包含文件夹的所有路径readme
:
C:\management\employees\1559ad36254x\readme
C:\management\employees\ayu6734287as\readme
C:\management\acsaagsdy345rchs\random87as\readme
C:\management\zsaagsdy345rchs\fir87as\readme
之后它将在readme
目录中创建一个新文件。是否有任何Powershell 或 Cmd命令可以找到路径然后创建文件然后找到下一个路径并创建文件?
解决方案
使用 PowerShell 很容易做到这一点:
Get-ChildItem 'c:\management' -Directory -Recurse -Filter 'readme' |
New-Item -ItemType File -Path {$_.FullName} -Name readme.txt -Value 'example@gmail.com'
该Get-ChildItem
命令将递归获取名为 readme 的文件夹。结果将通过管道传送到 New-Item 命令,我们将在其中使用表达式指定路径并创建一个名为“readme.txt”的文件,内容为“example@gmail.com”
注意:缺少显式循环,可以这样写:
Get-ChildItem 'c:\temp' -Directory -Filter 'readme' -Recurse |
ForEach-Object{
New-Item -ItemType File -Path $_.FullName -Name readme.txt -Value 'example@gmail.com'
}
但是,New-Item
允许将表达式用于-Path
参数,允许第一个更简洁的示例。
推荐阅读
- python - 如何使 pg.PlotItem.removeItem() 仅通过名称识别 PlotDataItems?
- javascript - 如何在 Vuejs 中使用 img 源绑定?
- opencv - 每张图像推理的 YOLOv3 分辨率和执行时间
- python - 当使用 Openpyxl 的行上的单元格中有字符串值时,如何突出显示 Excel 行?
- javascript - 为什么我的变量的值没有显示在我的反应组件的渲染中?
- python - `elif` 无法识别
- python - 使用 Beautiful Soup Python 抓取网页表
- python - 基于python分配用户ID的有效方法
- reactjs - React/webpack - 如何在一台服务器上托管 React 应用程序,在另一台服务器上托管图像/字体?
- javascript - 引导表可搜索问题