批处理脚本 - 连接文件上的序列号以保持名称唯一

2023-12-10

我正在编写一个脚本,用于复制与文件名相对应的文件夹中的文件,并且我使用 FOR 循环来解决该部分,该循环检查以确保目标文件夹存在,并在验证目标文件夹存在后复制文件。示例:11-01111_ABC_DEF.pdf 将进入 /11/0111/。长度可能会相差一两个字符,但格式是一致的。我复制了下面的基本脚本。

我的问题是有时需要处理同名的文件。如果目标文件夹中已存在文件的一个或多个副本,我该如何将数字连接到文件末尾?

setlocal enableextensions enabledelayedexpansion
for %%x in (*.PDF *.TXT) do (
  set "source="C:\files"
  set "dest=R:\"  
  set "filename=%%x"
  set "prefix=!filename:~0,2!"
  set "folder=!filename:~3,5!"

  if not exist !dest!\!prefix!\!folder! MOVE !filename! !source!\failed 
  if exist !source!\!filename! MOVE !filename! !dest!\!prefix!\!folder! 
)

setlocal ENABLEDELAYEDEXPANSION
set "dest=worked"
for %%i in (*.pdf *.txt) do (
   for /f "tokens=1-3* delims=-_." %%j in ("%%i") do (
      if exist "%dest%\%%j\%%k" if exist "%dest%\%%j\%%k\%%i" if exist "%dest%\%%j\%%k\%%j-%%k-1_%%l_%%m" (
     for /f "tokens=1-9* delims=-_." %%n in ('dir %dest%\%%j\%%k\%%j-%%k*-* /b') do set /a inc=%%p
     set /a inc+=1
     move "%%i" "%dest%\%%j\%%k\%%j-%%k-!inc!_%%l_%%m" || move "%%~i" "failed"
     set inc=
     )
      if exist "%dest%\%%j\%%k\%%i" if not exist "%dest%\%%j\%%k\%%j-%%k-1_%%l_%%m" (
     move "%%i" "%dest%\%%j\%%k\%%j-%%k-1_%%l_%%m" || move "%%~i" "failed"
     )
      if exist "%dest%\%%j\%%k" if not exist "%dest%\%%j\%%k\%%~i" (
     move "%%~i" "%dest%\%%j\%%k\%%~i" || move "%%~i" "failed"
     )
      if not exist "%dest%\%%j\%%k" move "%%~i" "failed"
      )
)

如果您希望我更改某些内容,请将其放入带有 .texts 和 .pdfs 注释的文件夹中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

批处理脚本 - 连接文件上的序列号以保持名称唯一 的相关文章

随机推荐

  • Javascript 函数打印 .innerHTML 但 HTML 只出现一会儿就消失了

    我有一个调用名为 submit 的 javascript 函数的按钮 在该函数中 我只需编写 document getElementById try innerHTML it Work 测试我的按钮是否正在将数据传递给函数 问题是 它有效
  • 如何在phonegap中同时选择多个文件

    我在这里用谷歌搜索并搜索 我没有找到任何与phonegap中的多个文件选择器或选择器相关的选择解决方案 目前我可以在phonegap 适用于Android 中一次选择单个文件 无需任何插件用它来获取文件 如何在 PhoneGap 中一次选取
  • 如何将通过C++中的另一个类添加的数据显示到ListView、QML?

    我需要呈现 QLinkedList 容器中的所有数据 这是由任务给出的 我创建了两个类 DataObject 用于 ListView 中的委托 Glav 用于包含 DataObject 对象的容器 我有一个按钮 可以通过它向容器添加数据 G
  • 在 Visual Studio 2019 中禁用工具提示

    将鼠标悬停在 C 文件中的每一段文本上都会弹出一个 提示 有谁知道如何删除这些提示 如果您能告诉我如何从 Visual Studio 2019 中的每个窗口中全局删除所有工具提示 那就加分了 Visual Studio 没有关闭工具提示的设
  • C++11 中的隐式构造函数参数转换

    让我们考虑以下代码 class A public A int x class B public B A a int main B b 5 return 0 在编译时 编译器抱怨 home test main cpp 80 candidate
  • 使用 PHP 连接到 EPP 服务器,使用 SSL

    我即将连接到安全 EPP 服务器并发送 XML 请求 然后再次接收 XML 格式的响应 我需要在 PHP 中执行此操作 因此 我需要使用 SSL 证书通过 TCP 连接到特定端口上的 EPP 服务器 因为这是我到目前为止所掌握的信息 仍在等
  • node.js socket.io room 用户总数

    我正在尝试计算特定房间中的用户总数并将其广播给该房间中的所有人 这是我所拥有的 但出现错误 var clients io sockets clients cc lowerCase data roomname length io socket
  • 如何在画布上保存图像和文本

    我制作了一个画布并在画布上绘制了图像我还在上面绘制了一些文本 帆布 图像和文本现在都是独立的 我想要那个 当我 绘制应打印在图像上的文本 我可以保存现在的图像和文本 在图像上 我想在另一个活动中发送带有文本的图像 here is my co
  • Web api - 如何使用 slugs 进行路由?

    我希望能够解析像这个问题这样的链接 http stackoverflow com questions 31223512 web api how to route using slugs 所以简单地在服务器上路由ignoringURL 的最后
  • 如何删除 C 语言中的这一行:“程序以退出代码结束:0”

    我用 C 语言编写了一段代码 它执行得很好 但最后我得到了一行 程序以退出代码结束 0 这条线意味着什么以及如何摆脱它 这是什么 退出代码 0 表示没有错误 如果一个程序想要 表明退出时出现问题 它将退出 非零值 如何摆脱它 不要使用IDE
  • Python中导入txt表文件的等高线图

    我正在尝试制作一个等高线图 例如 使用数据表 如 txt 文件中的 3 列 行数很长 使用此代码 import numpy as np import matplotlib pyplot as plt import scipy interpo
  • 自定义 Chrome 网络检查器的外观

    我已经厌倦了每天使用 Firefox 时遇到的众多问题 我再次尝试切换到 Chrome 让我沮丧的事情之一是检查器中选项卡的布局 在 Firebug 中 它们都位于顶部 所以如果我想要一个项目的指标 那是非常简单的 在 Chrome 中我总
  • ImportError:libcudnn.so.7:无法打开共享对象文件:没有这样的文件或目录[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我安装了Tensorflow 1 6 0 Python 3 6 4 环境中使用 anaconda 的 GPU 版本 当我做import tensorflow as tf 我收到以下错
  • 将 JavaScript 放置在 HTML 文件中的什么位置?

    假设我有一个相当大的 JavaScript 文件 压缩到大约 100kb 左右 我所说的文件是指它是一个外部文件 可以通过以下方式链接
  • 使用 msiexec /a 启动管理安装的目的是什么?

    Windows Installer 技术支持管理安装 启动管理安装的命令行是 msiexec a setup msi 我想了解这种安装的目的以及它们在什么情况下有帮助 管理安装 添加一些实际例子 1 静默运行提取 无图形用户界面 msiex
  • 用于 C++ 的 XML 数据绑定,如用于 Java 的 JAXB

    我在 C 中数据绑定和解析的使用 领域中以完全 天真 的方式写下这个问题 所以 请耐心听我说 您可能会发现这个问题与以下问题重复 THIS 经过一番谷歌搜索后 我发现 C 具有与 JAXB for java 类似的库 用于以 代码合成 xs
  • pandas read_sql 中的“TypeError:‘NoneType’对象不可迭代”

    我正在尝试在 python 中使用 pyodbc 运行 SQL 命令 其中SQL命令包含多个SELECT命令和IF语句 但我收到如下错误 columns col desc 0 for col desc in cursor descripti
  • PHPUnit 不允许我包含文件

    每当我尝试包含文件时 PHPUnit 都会给我一条错误消息 例如 以下代码给我错误 但是如果我删除第四行 require once controller ProductController php 运行良好 我得到的错误是 Warning
  • jQuery JSONP 回调未触发

    我正在使用 jQuery 发出跨域 AJAX 请求 但我的回调函数没有触发 请参阅http jsfiddle net zC8z5 function jsonpCallback response code text response data
  • 批处理脚本 - 连接文件上的序列号以保持名称唯一

    我正在编写一个脚本 用于复制与文件名相对应的文件夹中的文件 并且我使用 FOR 循环来解决该部分 该循环检查以确保目标文件夹存在 并在验证目标文件夹存在后复制文件 示例 11 01111 ABC DEF pdf 将进入 11 0111 长度