【问题标题】:How do I create multiple directories within a directory that's in a directory with a single line command如何使用单行命令在目录中的目录中创建多个目录
【发布时间】:2023-01-01 17:36:03
【问题描述】:

所以我的路径来自桌面,我尝试过:mkdir OS\LAB1\Finance,Public,Archive,Customer 该命令创建了前 3 个目录,但后三个目录是在我的桌面上创建的,而不是在 LAB1 中创建的,我如何使用一个命令行完成它? 谢谢

【问题讨论】:

  • 'Finance','Public','Archive','Customer' | % { mkdir "OS\LAB1\$_" }
  • 感谢您的回答,但这是唯一的方法吗?我仍在学习命令行,我不确定某些语法的含义,例如 %、{}、$_。
  • New-Item -Path 'Public','Archive','Customer' -ItemType Directory。问题是文件夹将在当前目录中创建。或者,使用mkdirmkdir 'Public','Archive','Customer'

标签: powershell


【解决方案1】:

不是一个班轮,但这可以解决问题

$folders = @(,'Public','Archive','Customer')
New-Item -ItemType Directory C:OSLAB1Finance -Force
foreach($folder in $folders){
    New-Item -ItemType Directory C:OSLAB1Finance$folder -Force
}

force 参数一次性创建所有目录。

【讨论】:

    【解决方案2】:

    我认为您想在 LAB1 下创建 4 个目录,而不是一个四深的目录。在 Bash 中你可以做到这一点。

    for i in $(tr ',' '
    ' <<< "Finance,Public,Archive,Customer"); do mkdir  "$i"; done
    

    结果看起来像这样 0 drwxr-xr-x@7 camerontownshend 员工 224 3 月 16 日 12:28。 0 drwxr-xr-x@147 camerontownshend 员工 4704 3 月 16 日 11:13 .. 0 drwxr-xr-x@ 2 camerontownshend 工作人员 64 3 月 16 日 12:28 存档 0 drwxr-xr-x@ 2 camerontownshend 员工 64 3 月 16 日 12:28 客户 0 drwxr-xr-x 2 camerontownshend 员工 64 3 月 16 日 12:28 金融 0 drwxr-xr-x@ 2 camerontownshend 员工 64 3 月 16 日 12:28 公开

    解释 for i in ... -> for 循环 处理 ',' ' ' -> 用新行替换逗号 do mkdir "$i" done -> 运行 do/done 对中的任何内容。 mkdir "$i" - 将循环中的迭代器作为变量替换到 mkdir 命令中

    【讨论】:

      【解决方案3】:

      要使用列表在一行中创建多个文件夹(完整路径)(注意:逗号后没有空格):

      $ mkdir -p /tmp/{test1,test2}
      

      核实:

      $ ls /tmp/test*
      /tmp/test1:
      /tmp/test2:
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-05
        • 2010-11-06
        • 2017-09-23
        • 1970-01-01
        • 1970-01-01
        • 2010-10-20
        • 2010-10-20
        • 1970-01-01
        相关资源
        最近更新 更多