使用文本文件重命名文件夹中的批处理文件

雷克·克莱(Ryker Klie)

我有一个以特定字符串开头的文件文件夹,并希望使用文本文件中的相应列替换部分字符串

包含文件的文件夹

 ABC_S1_002.txt
 ABC_S1_003.html
 ABC_S1_007.png
 NMC_D1_002.png
 NMC_D2_003.html

我有一个文本文件,其中的字符串将替换为:

ABC ABC_newfiles
NMC NMC_extra

因此,重命名后的文件夹将是

 ABC_newfiles_S1_002.txt
 ABC_newfiles_S1_003.html
 ABC_newfiles_S1_007.png
 NMC_extra_D1_002.png
 NMC_extra_D2_003.html

我尝试使用MV逐个文件

for f in ABC*; do mv "$f" "${f/ABC/ABC_newfiles}"; done

如何读取第一列中包含旧字符串的文本文件,并用第二列中的新字符串替换该文本文件?我试过了

IFS=$'\n'; for i in $(cat file_rename);do oldName=$(echo $i | cut -d $'\t' -f1);  newName=$(echo $i | cut -d $'\t' -f2); for f in oldName*; do mv "$f" "${f/oldName/newName}"; done ; done

虽然没有工作。

沃尔特·A

查看的结果

sed -r 's#([^ ]*) (.*)#for f in \1*; do mv "$f" "${f/\1/\2}"; done#' textfile

看起来不错时,您可以复制粘贴结果或将其包装在中source

source <(sed -r 's#([^ ]*) (.*)#for f in \1*; do mv "$f" "${f/\1/\2}"; done#' textfile)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

批处理文件可将文件从文本文件中的源移动到另一个文本文件中的多个文件夹

将文本文件拖放到批处理文件中以创建文件夹

批处理文件重命名文件夹中的文件

编写批处理文件以重命名多个文件夹中的文件

批处理文件让用户选择文件夹中的文件然后重命名

批处理文件以重命名文件夹创建新文件夹

使用批处理文件编辑文本文件

如何重命名子文件夹或zip文件中的文本文件

批处理文件以从 CSV 读取文件名并重命名文件夹中的文件

循环批处理文件,用于将不同文件夹中的多个文本文件合并到另一个不同文件夹中的一个文本文件

获取 Windows 批处理文件以根据通配符匹配的内容重命名文本文件

批处理文件:合并文本文件中的同名文本文件

批处理文件,用于按日期增量重命名文件/文件夹

批处理文件以重命名多个文件并移至文件夹

如何使用批处理文件有选择地删除文本文件中的文本?

使用批处理脚本重命名文件夹

仅使用批处理脚本重命名文件夹

在批处理文件中使用powershell从文本文件中添加浮点数

批处理文件仅使用整个单词在文本文件中查找和替换?

创建一个批处理文件,该文件将文本文件和文件夹中的文件名进行比较,如果匹配,它将文件复制到另一个文件夹

使用批处理脚本仅打开文件夹中的非零文本文件

如何使用批处理文件在系统文件夹中创建批处理文件

批处理文件-命令-用于重命名文件夹的动态输入

启动和关闭程序时,如何使批处理文件重命名文件夹?

用于循环文件夹和复制然后重命名的批处理文件

是否可以使用Powershell或批处理文件将文件夹中的每个文件重命名为另一个名称?

如何根据存储在同名文本文件中的日期/时间重命名文件夹中的每个JPG文件?

windows的批处理文件使用固定部分添加渐进数重命名多个文件夹

使用新时间戳在循环中创建后重命名文件夹(不久)-批处理文件