【问题标题】:Windows CMD delete directoryWindows CMD 删除目录
【发布时间】:2013-11-05 13:34:25
【问题描述】:

我在 D:\User Profiles\ 中,我需要删除位于

中的目录
D:\User Profiles\---USERNAME---\UPM_Profile\AppData\Local\Mozilla\Firefox\Profiles\*.default

现在问题来了。我怎样才能做到这一点? 如果我输入

dir /ad /b /s D:\User Profiles\*\UPM_Profile\AppData\Local\Mozilla\Firefox\Profiles\*.default

它失败了。 ---USERNAME--- 和 *.default 需要是动态的。 有什么想法吗?

【问题讨论】:

  • 动态定义你的意思。它们是批处理文件的参数吗?
  • 您是否需要* 才能使用户名成为动态用户名?
  • 是的,“用户配置文件”目录包含多个用户名目录,例如“a1、a2、a3、a4”等。

标签: windows batch-file cmd dir


【解决方案1】:

类似:

@echo off
for /d %%i in ("D:\User Profiles\*") do (
   call :remove_dirs %%i
)
goto :eof

:remove_dirs
  echo %1
  for /d %%j in ("%1\UPM_Profile\AppData\Local\Mozilla\Firefox\Profiles") do rmdir %%j
  goto :eof

【讨论】:

  • %~dp1 应该是 %~1 以包含用户文件夹,或者 %~dpnx1 否则 %~dp1 将解析为 d:\user profiles\ 对吗?
  • 自己试试吧。 %~dp 返回 drive:\path 但那是它有文件规范的时候。如果没有文件规范,则将最终路径元素视为文件名。将echo %1 替换为echo %~dp1,每次都会看到相同的文件夹。
  • @foxidrive:你当​​然是对的。 %1 应该足够了。
猜你喜欢
  • 2021-11-29
  • 2021-06-28
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 2017-10-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多