根据xml文件批量重命名文件夹中的文件

根据xml文件批量重命名文件夹中的文件,xml,windows,shell,cmd,rename,Xml,Windows,Shell,Cmd,Rename,我没有编写脚本的经验,在一个问题上需要一些帮助。 我有一个包含.pdf和.jpg的文件夹(名称相同,但类型不同)。 e、 g 我有一个.xml,看起来像这样: <x> <y> lorem ipsuma </y> <test name="01fancyname.txt"> </test> </x> <x> <y> lorem ipsumb </y>

我没有编写脚本的经验,在一个问题上需要一些帮助。 我有一个包含.pdf和.jpg的文件夹(名称相同,但类型不同)。 e、 g

我有一个.xml,看起来像这样:

<x>
   <y> lorem ipsuma </y>
       <test name="01fancyname.txt">
       </test>
</x>
<x>
   <y> lorem ipsumb </y>
       <test name="02fancyname.txt">
       </test>
</x>
<x>
   <y> lorem ipsumc </y>
       <test name="03fancyname.txt">
       </test>
</x>
文件按名称排序,如示例中所示。 谢谢

整个答案是:(解释如下)

其产出是:

01fancyname
01fancyname
02fancyname
02fancyname
03fancyname
03fancyname
file01.jpg
file01.pdf
file02.jpg
file02.pdf
file03.jpg
file03.pdf
这里我从XML文档中获取文件名(不带扩展名),并打印两次(因为我们将移动两个文件,pdf和jpg)

第二个论点是:

awk 'NR <= 2 {system("rm "$9);} NR > 2 && NF >= 9 {print $9;}' <(ls -l *.jpg *.pdf) | sort
请注意(
file00.jpg
file00.pdf
)都已使用
系统(“rm”$0)删除
AWK


一旦我们有了这些输入,就让我们粘贴吧<代码>粘贴如何对文件列表排序?而且XML示例的格式不正确,因此解析将不起作用。我修复了XML示例。这些文件是按名称排序的,就像示例中一样。再说一次,您如何对这些文件进行排序?似乎没有办法产生这个列表——它不是按字母顺序排列的。如果不知道如何对列表排序,任务甚至无法开始。文件夹中的文件按字母顺序排列。我还修复了示例中的命名。我只想删除第一对并重命名其余的。删除第一对后,对的数量将与xml中的名称数量相同。如果您说
我在示例中修复了命名,那么这也不告诉我们命名方案,编写脚本所需的是信息。
file
是否在每个文件名中都有相同的前缀,并且有两个数字?XML文件是否如您所示,每行都有Windows行结尾?我不确定是否有awk,因为我使用的是Windows。
grep -o 'name="[^"]*"' *.xml | cut -d'"' -f2 | cut -d'.' -f1 | awk '{print $0; print $0;}' -
01fancyname
01fancyname
02fancyname
02fancyname
03fancyname
03fancyname
awk 'NR <= 2 {system("rm "$9);} NR > 2 && NF >= 9 {print $9;}' <(ls -l *.jpg *.pdf) | sort
file01.jpg
file01.pdf
file02.jpg
file02.pdf
file03.jpg
file03.pdf
01fancyname file01.jpg
01fancyname file01.pdf
02fancyname file02.jpg
02fancyname file02.pdf
03fancyname file03.jpg
03fancyname file03.pdf
awk '{match($2,/[a-zA-Z0-9]+(\.[a-zA-Z]+)/,a); print ("mv "$2" "$1a[1]);}' -
rm file00.jpg
rm file00.pdf
mv file01.jpg 01fancyname.jpg
mv file01.pdf 01fancyname.pdf
mv file02.jpg 02fancyname.jpg
mv file02.pdf 02fancyname.pdf
mv file03.jpg 03fancyname.jpg
mv file03.pdf 03fancyname.pdf