Показать полную графическую версию : [решено] Создание пустышек
Имеется папка с подпапками и кучей файлов формата .jpg в них. Мне нужно заменить их одноименными пустышками. Вручную это работы на пол дня. Подкиньте пожалуйста скрипт с выполнением этой рутинной работы. Спасибо
madmasles
18-02-2010, 01:35
Pozia,
У меня так получилось: $aReturn = _FileSearch("Папка", '*.jpg')
For $i = 1 To UBound($aReturn) - 1
$hFile = FileOpen($aReturn[$i], 2)
FileClose($hFile)
Next
Func _FileSearch($sPath, $sFileMask)
Local $sOut = StringToBinary("0" & @CRLF, 2), $aOut
Local $hDir = Run(@ComSpec & ' /U/C DIR "' & $sPath & '\' & $sFileMask & '" /S/B/A-D', @SystemDir, @SW_HIDE, 6)
While 1
$sOut &= StdoutRead($hDir, False, True)
If @error Then ExitLoop
WEnd
$aOut = StringRegExp(BinaryToString($sOut, 2), "[^\r\n]+", 3)
If @error Then Return SetError(1)
$aOut[0] = UBound($aOut) - 1
Return $aOut
EndFunc ;==>_FileSearch
FileOpen($aReturn[$i], 2)
FileClose($aReturn[$i]) »
Неправильно это...
FileClose не принимает имя файла, ей нужен дескриптер возвращаемый функцией FileClose:
For $i = 1 To UBound($aReturn) - 1
$hFile = FileOpen($aReturn[$i], 2)
FileClose($hFile)
Next
иначе у тебя в скрипте происходит постоянное открытие файла, без необходимого закрытия.
madmasles
18-02-2010, 01:52
Creat0R,
Не внимательно я справку читал :).
А как проверить, открыт файл или нет.
Я код исправил. FileDelete() тоже не нужен.
как проверить, открыт файл или нет »
Ещё внимательнее почитать справку ;)
FileDelete() тоже не нужен »
А я его и не добавлял в куске кода что привёл в примере.
то то у меня ничего не работает
madmasles
18-02-2010, 12:46
Pozia,
У меня работает.
madmasles, а вместо "Папка" нужно свое имя указывать или как? Не выходит ничего. Ложу скрипт рядом с кучей jpg, запускаю и ноль
madmasles
19-02-2010, 00:39
Pozia,
Вместо "Папка" надо полный путь к этой папке указать, т.е. $aReturn = _FileSearch(@DesktopDir & "\My Folder", '*.jpg')
....Будет обнулять все файлы с расширением .jpg в папке My Folder, которая находится на рабочем столе, и во всех ее подпапках.
Или указать $aReturn = _FileSearch(@ScriptDir & "\My Folder", '*.jpg')
.... И положить скрипт рядом с папкой My Folder, т.е. в одну папку и скрипт, и My Folder. Вместо My Folder укажите Вашу папку с файлами .jpg.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.