DOS批量创建多个目录下的文件夹
Posted
技术标签:
【中文标题】DOS批量创建多个目录下的文件夹【英文标题】:DOS Batch Create Folders under multiple directories 【发布时间】:2016-03-16 10:50:58 【问题描述】:我目前正在学习 DOS,并且正在尝试更好地组织我的一些客户端目录。我想在每个客户的文件夹下创建 5 个文件夹(2011、2012、2013、2014 和 2015),但我有很多客户,想用批处理命令来做。
这是我的目录的一个示例:
C:\Clients\Name\
这是我想做的:
C:\Clients\Name\2015
我有大约 200 个不同的客户,因此单独创建这些客户既繁琐又耗时。有没有办法写入所有“名称”文件夹,即使它们都不同?
【问题讨论】:
“我正在学习DOS” 哇,这句话让我产生了很大的怀旧感。因此,如果我是对的,您正在寻找将文件一次复制到多个目录的命令,还是要创建目录?除此之外,您运行的是 Windows 95 还是安装了 Power-shell 的某些 Windows 版本? 你真的在学习“DOS”吗?还是您指的是 Windows 中的命令行?因为那是完全不同的东西 对这些 Dos 有 qbasic 吗?然后让它为您创建批处理文件。客户名称将如何显示?实名还是连号?我猜他们已经存在了? 【参考方案1】:试试这个:
pushd C:\Clients
for /d %%d in (*) do (
for %%i in (2011 2012 2013 2014 2015) do mkdir %%d\%%i
)
popd
【讨论】:
这在“DOS”中不起作用(尽管我很确定 Jox 指的是 Windows 命令行,而不是“DOS”)【参考方案2】:这是一个可以解决问题的批处理文件: 您可以通过 2 种方式运行它:
将文件夹(例如C:\Clients)作为参数传递 转到文件夹 (cd C:\Clients
) 并从那里运行它,不带任何参数
注意:它也适用于包含 SPACE 的文件夹,是的,这是 cmd 特定的(不是 DOS em>)
@echo off
setlocal enableextensions
if "" neq "%~1" (
if exist "%~1\" (
set WORK_DIR="%~1"
) else (
set WORK_DIR="%CD:"=%"
)
) else (
set WORK_DIR="%CD:"=%"
)
for /f "tokens=*" %%f in ('dir /b /a:d %WORK_DIR%') do (
for %%g in (2011 2012 2013 2014 2015) do (
mkdir "%WORK_DIR:"=%\%%f\%%g"
)
)
【讨论】:
以上是关于DOS批量创建多个目录下的文件夹的主要内容,如果未能解决你的问题,请参考以下文章