我需要一个批处理文件中的代码,用于重命名从SAP创建的银行文件(我是SAP专业人员),这些文件存储在服务器上的某个位置。
问题:所有银行文件都从SAP中的序列表中获得名称(日期+编号)。在将它们发送到银行之前,它们必须具有特定的名称结构。
我有一个代码,到目前为止一直很好用。现在的问题是,我从SAP发送了一批(多个)文件,它们的名称是随机的。 在每个文件的第一行中,有一个唯一的批次ID,即银行序列号,文件必须按此顺序命名。 我已经做了很多VBA编程,但我在这个主题上不太强。
所需解决方案:我需要的是对于每个文件,它应该读取文件的第一行并获取位置71和4个位置向前,将其保存在一个变量中,并将其添加到文件名的末尾。
示例:如果来自SAP的原始文件名为20160301-001.txt,则我想将其重命名为“P.00934681758.005.TBII.00000xxxx.txt”(其中“xxxx”是文件第一行中的位置71到74)。
今天它浏览了很多银行目录,但是下面您可以找到今天的代码(除了在此代码中重新编号“a”,从而不超过9个文件之外,它可以工作),我想用文件的这4位数字替换它:
今天的名称:P.00934681758.005.TBII.00000!a!.dat(“a”是一个变量)
新名称:P.00934681758.005.TBII.00xxxx.dat(“xxxx”是来自文件的数字)
今天的代码(其中一部分-显示2个“扫描”目录):
今天的代码是在一个 *.bat 文件中运行的,安排在服务器上每5分钟运行一次。
非常感谢所有的帮助:-)
此致 敬礼 Solve
问题:所有银行文件都从SAP中的序列表中获得名称(日期+编号)。在将它们发送到银行之前,它们必须具有特定的名称结构。
我有一个代码,到目前为止一直很好用。现在的问题是,我从SAP发送了一批(多个)文件,它们的名称是随机的。 在每个文件的第一行中,有一个唯一的批次ID,即银行序列号,文件必须按此顺序命名。 我已经做了很多VBA编程,但我在这个主题上不太强。
所需解决方案:我需要的是对于每个文件,它应该读取文件的第一行并获取位置71和4个位置向前,将其保存在一个变量中,并将其添加到文件名的末尾。
示例:如果来自SAP的原始文件名为20160301-001.txt,则我想将其重命名为“P.00934681758.005.TBII.00000xxxx.txt”(其中“xxxx”是文件第一行中的位置71到74)。
今天它浏览了很多银行目录,但是下面您可以找到今天的代码(除了在此代码中重新编号“a”,从而不超过9个文件之外,它可以工作),我想用文件的这4位数字替换它:
今天的名称:P.00934681758.005.TBII.00000!a!.dat(“a”是一个变量)
新名称:P.00934681758.005.TBII.00xxxx.dat(“xxxx”是来自文件的数字)
今天的代码(其中一部分-显示2个“扫描”目录):
@echo off & setlocal EnableDelayedExpansion
REM Start by renaming all files in each folder to the namerule of the bank
cd PL270\UT01
set a=1
for /f "delims=" %%i in ('dir /b *') do (
if not "%%~nxi"=="%~nx0" (
ren "%%i" "P.00934681758.002.TBII.00000!a!".dat
set /a a+=1
)
)
cd..
cd..\PL570\UT01
set a=1
for /f "delims=" %%i in ('dir /b *') do (
if not "%%~nxi"=="%~nx0" (
ren "%%i" "P.00934681758.005.TBII.00000!a!".dat
set /a a+=1
)
)
今天的代码是在一个 *.bat 文件中运行的,安排在服务器上每5分钟运行一次。
非常感谢所有的帮助:-)
此致 敬礼 Solve
a
应该是每个文件第一行的ID吗? - npocmaka