基本上我正在寻找一个7-zip列表函数数组,它列出了zip文件夹中的所有文件以及无用文本行。
我想将文件名与我之前在压缩之前制作的源文件列表进行比较,然后如果由于某种原因从zip中丢失了1个或更多,则不要处理该程序的删除部分。 / p>
我认为最好的方法是在7-zip列表数组中找不到文件名时设置一个标志,然后在ir处理删除之前检查该标志。但是,由于它也在数组中的无用文本行,只要一个与文件名不匹配就将标志设置为false,这使得它永远不会处理删除,即使数组中存在所有文件。
我该如何解决这个问题? 我目前有这个:
SELECT c.name,
s.name,
char_length(s.name)
FROM state s
JOIN country c ON s.country_id = c.id
ORDER BY char_length(s.name)
“arcstore = ShellandWait(ArcProg, """l""" & " " & NewZipName) 'Command line to list files in a zip folder in an array
For a = 0 To UBound(records)
FileName = records(a)
FileName = FileName.Substring(FileName.LastIndexOf("\") + 1) 'taking out the directory path so just the filename is left
For i = 0 To UBound(arcstore.ArcFiles)
Zippedfilename = (arcstore.ArcFiles(i)) 'Output of 7-zip List function
If Not Zippedfilename.Contains(FileName) Then
DeleteErrorFlag = True
cw.labelMsg("FIle not in zip is " & FileName)
Else
ZipFileCount = ZipFileCount + 1
End If
Next
Next
”是源文件名,“Filename
”是7-zip阵列的输出行。
非常感谢提前
答案 0 :(得分:0)
您可以创建一个与Boolean
数组大小相同的records
数组,其中最初每个Boolean
值都设置为False
。
对于records
数组中的每个文件名,检查它是否存在于arcStore.ArcFiles
中,如果它存在,则将Boolean
数组中的相应值设置为True
最后,只有当Boolean
数组中的每个值都为True
时,您才能删除源文件。
答案 1 :(得分:0)
您可以在7-zip列表函数数组中查询源文件列表中未包含的任何文件。我不太确定变量名,但我假设var menuHome= [
{menuName:'menu1',menuImage:'image1'},
{menuName:'menu2',menuImage:'image2'},
{menuName:'menu3',menuImage:'image3'},
{menuName:'menu4',menuImage:'image4'},
{menuName:'menu5',menuImage:'image5'},
{menuName:'menu6',menuImage:'image6'},
{menuName:'menu7',menuImage:'image7'},
{menuName:'menu8',menuImage:'iamge8'}
]
render() {
for(i=1;i<=2;i++){
if(i%2 !== 0){
menuBox2 = 15;
}else{
menuBox2 = 0;
l+=1;
}
menuBlock2.push(
<TouchableHighlight
style={[styles.menuBox, {marginRight:menuBox2},{backgroundColor:this.state.menuBg}]}
onPress= { () => {} }
underlayColor="rgba(138,24,27,1)"
key = {i}
>
<View style={[styles.justify]}>
<SvgUri
width="50"
height="50"
source={require("AwesomeProject/app/images/balance-01.svg")}
style={styles.images}
/>
<Text style={[styles.baseText,{color:this.state.menuText}]}>{menuHome[i].menuName}</Text>
</View>
</TouchableHighlight>
)
}
for(z=0;z<4;z++){
menuBlock.push(
<View style={[styles.mainWrapper, styles.row]} key = {z}>
{menuBlock2}
</View>
)
}
return (
<View style={styles.mainView}>
{menuBlock}
</View>
);
}
是你的7-zip列表函数数组,而arcstore.ArcFiles
是你的源文件列表:
records