我最近问了一个关于查找具有相同ID的文件然后移动它们的问题。 虽然我正在移动的文件没有相同的ID。相反,它们在文件中具有相同的字符串。 这是我找到相同ID文件的代码
ECHO OFF
setlocal enableDelayedExpansion
set "source=C:SORCEFOLER"
set "destBIAK=C:BIAKFOLER"
set "destBIPO=C:BIPOFOLDER"
set "POfile=BIPO"
SET "AKfile=BIAK"
pushd "%source%"
for %%F in ("%POfile%*") do (
set "setID=%%F"
set "setID=!setID:%POfile%=!"
if exist "%AKfile%!setID!" robocopy /mov "%source%" "%destbiak%" "%%F"
if exist "%AKfile%!setID!" robocopy /mov "%source%" "%destbipo%" "%AKfile%!setID!"
)
popd
就像我说的,我需要找到一个匹配两个不同的字符串,然后根据字符串移动它们。
以下是第一个文件
开头的示例H|0003341369|20131123
我无法发布整个PO文件,因为它包含客户名称和地址,这些是我正在为其制作文件的人的专有信息。
这是整个AK文件
0003341369|SO-02052|20131124|A|
那只是一堆数字。请注意,PO文件的数字3到12匹配AK文件的数字1到10。
一个文件夹中有多个AK文件和PO文件。
我原以为脚本会找到AK文件的ID,搜索所有PO文件,直到找到匹配的文件然后移动它们。
我查看了几个搜索字符串的脚本,然后将带有字符串的文件名输出到某个文件。我无法弄清楚如何将其输出为变量。 感谢
答案 0 :(得分:0)
这应该是每个AK.*
文件中的第一个字词(第一个|
字符之前的字符,例如0003341369
),并在每个PO.*
文件中搜索它。
如果它在两个||
字符(例如|0003341369|
)内找到该字词,那么它会将这些文件移动到一个文件夹中 - 在比较所有PO.*
个文件后,它将移动{ {1}}文件到同一个文件夹。
AK.xxx