【问题标题】:Compare filenames with foldernames and move matching filenames elsewhere将文件名与文件夹名进行比较,并将匹配的文件名移至其他位置
【发布时间】:2014-04-20 16:02:09
【问题描述】:

我需要将文件夹 A 中的文件名(减去扩展名)与文件夹 B 中的文件夹名进行比较。

如果文件名减去扩展名在文件夹 B 中有匹配的文件夹名,则将其移动到文件夹 C。

例子:

我有 3 个目录:A、B 和 C

在文件夹 A 中有 *.txt 文件。
在文件夹 B 中有几个文件夹

如果文件夹名称(在文件夹 B 中)与文件夹 A 中的文件名具有相同的根名称,则将文件夹 A 文件移动到文件夹 C。

【问题讨论】:

  • 请提供有关该任务的更多信息。文件和文件夹示例会有所帮助。
  • 文件夹B中是否还有其他名为1、2和3的文件夹?任务不明确。我怀疑您也在使用非拉丁字符集,也许是 Unicode。这可能会影响解决方案。

标签: batch-file cmd


【解决方案1】:

这应该在 cmd 提示符下进行。如果在批处理文件中,则将所有 % 加倍为 %%

for /d %a in ("folderb\*") do if exist "foldera\%~nxa.txt" move "foldera\%~nxa.txt" "folderc"

答案 2

您的任务(在此答案 cmets 中)可以转过来,删除 do not_Dicts 文件夹中有匹配文件夹的 .apk files

如果这是你需要做的,那么测试一下:

@echo off
for %%a in ("_INPUT_APK\*.apk") do if not exist "_Dicts\%%~na\" del "%%a"

【讨论】:

    猜你喜欢
    • 2020-04-30
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多