2010-09-24 9 views
0

Auparavant, j'ai créé un script pour saisir certaines lignes d'un fichier texte délimité par des tabulations, la première ligne avec chacune des lignes suivantes dans son propre fichier .txt. (donc ces fichiers .txt sont seulement 2 lignes de texte)Onglet VBS Script non null

Ensuite, il déplacerait chaque fichier .txt par quel texte il a trouvé dans l'onglet donné dans ce cas c'était (1) (3) (deuxième rangée - avant tab)

est ici le code pour la première partie ...

Call TwoDimensionArrayTest 

Sub TwoDimensionArrayTest 

Dim fso 
Dim oFile 
Dim arrline 
Dim arrItem 
Dim i 
Dim arrMain() 
Dim sFileLocation, strResults 

Const forReading = 1 

strFolder = "\\nas001\Production\RxCut\In Design Implementation\build\" '" 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
For Each objFile In objFSO.GetFolder(strFolder).Files 
If Right(LCase(objFile.Name), 4) = LCase(".txt") Then 

''# The file contains on each line: 
''# Text1 (tab) Text2 (tab) Text3 (tab) Text4 
''# Text5 (tab) Text6 (tab) Text7 (tab) Text8 
''# etc etc 

Set fso = CreateObject("Scripting.FileSystemObject") 
    sFileLocation = objFile.Name 

    Set oFile = fso.OpenTextFile(objFile.Name, forReading, False) 

Do While oFile.AtEndOfStream <> True 
    strResults = oFile.ReadAll 
Loop 

''# Close the file 
oFile.Close 

''# Release the object from memory 
Set oFile = Nothing 

''# Return the contents of the file if not Empty 
If Trim(strResults) <> "" Then 

    ''# Create an Array of the Text File 
    arrline = Split(strResults, vbNewLine) 
End If 

For i = 0 To UBound(arrline) 
    If arrline(i) = "" Then 
    ''# checks for a blank line at the end of stream 
    Exit For 
    End If 

    ReDim Preserve arrMain(i) 

    arrMain(i) = Split(arrline(i), vbTab) 

Next 

     fso.MoveFile sFileLocation, arrMain(1)(3) & ".txt" 
End If 
Next 
End Sub ''# TwoDimensionArrayTest 

maintenant passer à la partie suivante ...

ok j'ai un fichier texte délimité par des onglets et dans ce fichier nous avons spécifié sur la première rangée 5ème onglet co-marque, 6ème onglet tri-marque, et 7ème générique.

deuxième rangée, nous avons le chemin du répertoire vers celui-ci soit co-marque, tri-marque ou générique. Ce que je veux être en mesure de faire est de déplacer un fichier donné que nous pouvons appeler "group.txt" à l'un de ces répertoires co-marque, tri-marque, ou générique en fonction du champ qui n'est pas NULL.

Comment puis-je accomplir ceci? Ce serait bien d'être juste en mesure d'intégrer dans le dernier script vers la fin où spécifiée:

fso.MoveFile sFileLocation, arrMain(1)(3) & ".txt" 

bien sûr dépendrait d'ici que j'ai mentionné ci-dessus sur le champ NOT NULL.

Toute aide est grandement appréciée, Joe

Répondre

0

ma conjecture est quelque chose comme ça à la fin (peut-être):

Sinon isNull (Rs ("arrMain (1) (4)")) puis

Set sDirectory = "/ co-marque"

End If

sinon IsNull (Rs ("arrMain (1) (5)")) ensuite

Set sDirectory = "/ tri-marque"

End If

Sinon isNull (Rs ("arrMain (1) (6)")) Puis

Set sDirectory = «/générique »

End If

fso.MoveFile sFileLocation, sDirectory, arrMain(1)(3) & ".txt"