Nawigacja po forum
Please or Zarejestruj się to create posts and topics.

Przykład - wykorzystanie _FileListToArray

Stworzyłem ten skrypt do przepakowywania folderów do formatu NanoZip.

Wystarczy umieścić swoje foldery do spakowania w jednym miejscu i odpalić ten skrypt. Wygeneruje on gotowca do wklejenia w wiersz polecenia 🙂

#include <Array.au3>
 #include <File.au3>

$aFolderList = _FileListToArray(@ScriptDir, "*", 2)

Filedelete("compress_script.txt")

For $x = 1 To UBound($aFolderList) - 1
 $archivename = $aFolderList[$x] & ".nz"

$command = 'nz.exe a -cc ' &'"'& $archivename & '" '
 $filelist_ = ''

$filelistArray = _FileListToArray(@ScriptDir & "" & $aFolderList[$x])

For $f = 1 To UBound($filelistArray) - 1
 $filelist_ = $filelist_ & '"' & @ScriptDir & "" & $aFolderList[$x] & '' & $filelistArray[$f] & '" '
 Next

FileWrite("compress_script.txt", $command & $filelist_ & @CR)

Next

Całkiem ciekawe, sam muszę napisać coś podobnego ale z wypakowaniem *.rar, następnie zmiana nazwy folderu AA + wypakowanie archiwum *.rar z folderu AA, usunięcie archiwów z folderu AA i repack nanozipem ufff.

Możliwe, że wykorzystam część tego kodu.

Rozbudowałem ten skrypt - poprzedni miał jakieś błędy i nanozip archiwizował dziwne ścieżki :/

 

#include <Array.au3>
#include <File.au3> 

$aFolderList = _FileListToArray(@ScriptDir, "*", 2)
$root_dir=@ScriptDir&''

FileDelete("compress_script.txt")

For $x = 1 To UBound($aFolderList) - 1

	FileWrite("compress_script.txt", 'robocopy "' & @ScriptDir & "" & $aFolderList[$x] & '" "E:' & $aFolderList[$x] & '" /mir' & @CR)

	$archivename = "E:" & $aFolderList[$x] & ".nz"

	$command = '"D:DokumentyProgramyNanoZIPnz.exe" a -cc ' & '"' & $archivename & '" '
	$filelist_ = ''
	$path = 'E:' & $aFolderList[$x]

	;$filelistArray = _FileListToArray($path, "*", 1)
	$filelistArray = _FileListToArray(@ScriptDir & "" & $aFolderList[$x], "*", 1)
	_ArrayDisplay($filelistArray,'tst')

	For $f = 1 To UBound($filelistArray) - 1
		$filelist_ = $filelist_ & '"E:' & $aFolderList[$x] & '' & $filelistArray[$f] & '" '
	Next

	FileWrite("compress_script.txt", $command & $filelist_ & @CR)

	;kopiowanie $archivename spowrotem
	FileWrite("compress_script.txt", 'move /y "'&$archivename&'" "'&$root_dir&$aFolderList[$x] & '.nz"'&@CR)
	;kasowanie archiwum oraz folderu z dysku E:
	;del /y
	FileWrite("compress_script.txt", 'del /F /Q '& '"E:' & $aFolderList[$x]&'"'&@CR)
	FileWrite("compress_script.txt", 'RD /S /Q '& '"E:' & $aFolderList[$x]&'"'&@CR)


Next