【问题标题】:copy file to folder in known location but random name将文件复制到已知位置但随机名称的文件夹
【发布时间】:2017-04-30 02:58:56
【问题描述】:

我需要将一个配置文件移动到其他地方, 问题是我不知道要将其移动到 的父文件夹的名称,因为该名称是随机创建的。

 sourcefolder                           destinationfolder
          |                              |    |StaticFolder
          |                              |        | AnotherStaticFolder 
          |                              |           | Randomfolder
          |                                              | StaticFolder
          \cofiguration.conf                                  \cofiguration.conf

如何使用 xcopy 或任何批处理命令来做到这一点?

【问题讨论】:

  • 在您的示意图中,它似乎是具有随机名称的目标文件夹,但在描述中您说的是具有随机名称的源文件夹(“...想要将它 from..." )。这两个中的哪一个将具有随机名称??
  • 对不起,你是对的。已编辑
  • 那么你将如何识别目标文件夹?还是每次复制都要新建一个??
  • 安装我的应用程序后正在创建目标文件夹(使用随机名称创建),创建后我想复制到它
  • 哪个应用程序??有没有办法向应用询问文件夹的名称??

标签: batch-file xcopy robocopy


【解决方案1】:

干吗:

@for /d %%a in ("C:\destinationfolder\StaticFolder\AnotherStaticFolder\temp*") do @copy "C:\sourcefolder\configuration.conf" "%%a"

这假设在随机文件夹名称位置中只有一个以 temp 开头的文件夹。

[编辑 /]

通过您现在添加的更改,您应该仍然能够使用相同的基本代码,只需添加一个额外的 if 层:

@for /d %%a in ("C:\destinationfolder\StaticFolder\AnotherStaticFolder\temp*"
) do @if exist "%%a\StaticFolder\" (
        @copy "C:\sourcefolder\configuration.conf" "%%a\StaticFolder")

【讨论】:

  • works :) ,但现在我意识到我需要将文件复制到正在创建的随机文件夹的子文件夹中,我更改了架构以便更清晰。我试过这个: for /d %%a in ("C:\destinationfolder\StaticFolder\AnotherStaticFolder\temp*\staticFolder") do copy "C:\sourcefolder\configuration.conf" "%%a" 但它没有工作
  • 我已在我的回复中附加了一个编辑以适应您更改的参数。
猜你喜欢
  • 1970-01-01
  • 2018-01-19
  • 1970-01-01
  • 1970-01-01
  • 2018-09-06
  • 1970-01-01
  • 2014-01-12
  • 1970-01-01
  • 2022-10-05
相关资源
最近更新 更多