问题标签 [batch-rename]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
57089 浏览

bash - 使用 bash 循环重命名多个文件

我需要重命名45个文件,我不想一个一个地做。这些是文件名:

我需要将扩展​​名“.fasta”更改为“.fa”。我正在尝试编写一个 bash 脚本来做到这一点:

但它不起作用。你能告诉我为什么,或者给出另一个快速的解决方案吗?

谢谢!

0 投票
2 回答
4225 浏览

applescript - Applescript 重复重命名

我正在尝试制作一个 AppleScript 小滴来重命名一堆格式令人讨厌的图像,但我发现我的 AppleScript 技能已经不存在了,而且我无处可去。所以如果可能的话,完整的代码,而不仅仅是片段。

文件设置始终相同,但有很多变化(例如:Yellowst.Nat.Park.D12P55.DMS.3248.jpg)

  • 它以地名开头,应该是一堆不同字符串的查找和替换,(“Yellowst.Nat.Park”->“Yellowstone National Park”)
  • 然后是两个应该在格式上更改的数字(D12P55 -> [12x55])。它们总是设置在“D”后跟两个数字、一个“P”和两个数字。
  • 它以随机字符串结尾,可以是数字、字母等,都必须去。它们的格式和长度不同,没有图案。

基本上我想从“Yellowst.Nat.Park.D12P55.DMS.3248.jpg”到“Yellowstone National Park [02x03] .jpg”我想在之后添加文本,所以想以空格结尾。

在我看来,最好的方法是重复查找和替换第一部分,为一堆术语列出一个列表,这些术语必须被一堆相应的术语替换。随后检测数字格式并以删除其后的随机字符串结束。

0 投票
1 回答
126 浏览

batch-file - 根据简单规则转换文件名

我想批量修剪文件名,例如:从“This IsGood 1.1.png”到“tig11.png”

条件是脚本应该从文件名中获取所有大写字母,将它们转换为小写字母,然后形成修剪后的文件名,其中没有任何空格......

请我帮助完成这项任务..谢谢!

0 投票
2 回答
6256 浏览

amazon-s3 - amazon s3 重命名和覆盖文件、建议和风险

我有一个包含两种文件名的存储桶:

  1. [Bucket]/[file]
  2. [Bucket]/[folder]/[file]

例如,我可以:

  1. MyBucket/bar
  2. MyBucket/foo/bar

我想将所有[Bucket]/[folder]/[file]文件重命名为[Bucket]/[file]文件(从而覆盖/丢弃[Bucket]/[file]文件)。
所以和前面的例子一样,我想MyBucket/foo/bar成为MyBucket/bar(并覆盖/删除原来的MyBucket/bar)。

我尝试了两种方法:

  1. 使用 s3cmd 的 move 命令:s3cmd mv s3://MyBucket/foo/bar s3://MyBucket/bar
  2. 使用亚马逊的 php 开发工具包:rename(s3://MyBucket/foo/bar, s3://MyBucket/bar)

这两种方法似乎都有效,但是 - 考虑到我必须对数千个文件进行批处理,
我的问题是:

  1. 首选哪种方法?
  2. 还有其他更好的方法吗?
  3. 我必须在移动/重命名之前删除旧文件吗?(没有它似乎可以正常工作,但我可能不知道所涉及的风险)

谢谢你。

0 投票
3 回答
2262 浏览

regex - 对数据框的列名执行多次搜索和替换

我有一个包含 95 列的数据框,并且想用简单的正则表达式批量重命名其中的很多,就像底部的代码段一样,有大约 30 行这样的行。任何其他与搜索正则表达式不匹配的列都必须保持不变。

**** 示例:names(tr) = c('foo', 'bar', 'xxx_14', 'xxx_2001', 'yyy_76', 'baz', 'zzz_22', ...) ****

我从一堵 25 gsub()s 的墙开始 - 粗略但有效:

@Joshua:mapply 不起作用,结果证明它更复杂且无法矢量化。names(tr) 包含其他列,当这些模式确实发生时,您不能假设它们都发生了,更不用说按照我们定义它们的确切顺序了。因此,尝试 2 是:

谁能帮我解决这个问题?


编辑:我阅读了关于这个主题的所有 SO 和 R 文档,但找不到任何东西......然后当我发布它时,我想搜索 '[r] translation table' 并找到xlategrep/sub/gsub文档中的任何地方都没有提到。

  1. 有什么东西base/gsubfn/data.table可以让我写一个搜索和替换指令吗?(如字典或翻译表)

  2. 你能把我笨拙的语法改进为对 tr 的引用调用吗?(不得创建整个 df 的临时副本)


EDIT2:阅读后我最大的努力是:

字典方法(xlate)可能是部分答案,但这不仅仅是一个简单的翻译表,因为正则表达式必须是终端(例如'_14$')。

我可以使用gsub()strsplit()在 '_' 上拆分,然后在最后一个组件上进行xlate翻译,然后将它们粘贴在一起。寻找更干净的 1/2 行成语。

否则我只使用gsub()s 的墙壁。

0 投票
1 回答
6161 浏览

batch-file - 文件重命名批处理脚本

我正在尝试重命名一堆文件,我可以手动完成,也可以通过批处理脚本完成。批处理脚本会非常容易。

我需要脚本将文件夹中的所有文件重命名为姓氏+索引。所以输出看起来像 sample1.exe 和 sample 是姓氏,索引为 1。我还需要在每个文件被命名后增加这个索引以避免重复。我搜索了谷歌,但不知道将其中之一放在一起。有人有什么建议吗?

0 投票
1 回答
627 浏览

encryption - 批量重命名/移动/散列文件

我有一个高度结构化的分层目录,其中包含多个需要移动到平面结构并同时重命名的文件。原始路径和名称必须与新路径和名称一起记录并最终加载到数据库中。最后,每个重命名的文件必须有一个唯一的、不可猜测的(IE:加密或散列)文件名。当重命名的文件被移动到新的目录结构中时,我还想限制每个目录中的文件数,所以每个目录都会创建一个序号作为其名称,然后文件将被加载到其中,直到最大在滚动到具有下一个序列号为其名称的新目录之前,已达到文件数(例如:255)。

有没有这样的工具/软件?我做了一些初步研究,但没有提出以下标准:

  • 批量重命名并复制到替代(扁平)结构
  • 散列/加密文件名并确保唯一性
  • 按顺序命名文件夹并限制文件数
  • 记录每个文件的原始名称和路径,以及新的(加密的)名称和路径
0 投票
2 回答
172 浏览

windows - 更改 windows 文件夹中的文件名

您好我正在尝试更改 Windows 机器中某些文件夹中的文件名。

我有一堆文件名以大写字母开头的文件示例

“Hello.html”,但我想将其更改为“hello.html”,因为有数以千计的文件我不能只是去手动更改它。我正在寻找一个脚本,我只需要一些帮助才能开始,我应该从什么开始。

我可以访问一台 linux 机器,我可以在那里复制文件并运行任何脚本,如果有人可以指导我在 Linux 或 Windows 环境中入门,我将非常感激。

0 投票
1 回答
142 浏览

excel - 提供不带小数的 Excel 定价矩阵

提供没有小数的定价矩阵是否奇怪?例如,尺寸为 23 x 42 的产品显示为 114,但实际上应该是 11.40。另一种测量是 28 x 48,根据矩阵将是 696,但应该是 69.6。

  1. 他们为什么会出于任何原因这样做(只是为了让我明白为什么会这样)
  2. Excel是否有一种简单的方法可以在右侧的一个空格中添加小数?

我会手动执行此操作,但有数千种产品。

0 投票
1 回答
5841 浏览

if-statement - 在Windows批处理文件的++ FOR循环中进行IF EXIST检查后重命名文件?

我在网上搜索并找不到我正在寻找的确切代码......我发现了非常相似但没有让它们工作的东西。这是我想要的一个粗略的想法:

基本上我想检查一个文件名是否存在,如果存在,将其重命名为 filename0001 - 从那里开始,每次运行批处理时,如果找到文件名####,它会在此之后将其重命名为一个。所以当然在第一次运行之后,当它发现文件名存在时,它将把它重命名为 filename0002 等等。

谢谢!!