CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
-
Tosyk
Re: CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
т.е. скрипт RunPowerShell.vbs использует скрипт Sample.ps1 и перетаскивать исходный файл нужно именно на RunPowerShell.vbs?
-
Tosyk
Re: CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
Tosyk, ну, если у меня работает, а у Вас нет, значит, явно что-то не так.
Покажите Ваш код PowerShell с исправленными путями. Покажите Ваш код ps_chunks0_search.vbs. Покажите содержимое каталога с «все чанки у меня в одной папке, до которой я указываю путь». Упакуйте в архив Ваш sp_brady_head_mesh 00160000000000003801000070009400.MeshSet и приложите к сообщению. Покажите скриншот с:
Цитата Tosyk:
в итоге мигает чёрное окно с красным текстом.
Покажите Ваш код PowerShell с исправленными путями. Покажите Ваш код ps_chunks0_search.vbs. Покажите содержимое каталога с «все чанки у меня в одной папке, до которой я указываю путь». Упакуйте в архив Ваш sp_brady_head_mesh 00160000000000003801000070009400.MeshSet и приложите к сообщению. Покажите скриншот с:
Цитата Tosyk:
в итоге мигает чёрное окно с красным текстом.
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
-
Iska
Re: CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
я бы сделал скриншот, но как? окно ведь мигает. можно как-то запаузить его?
-
Tosyk
Re: CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
я бы сделал скриншот, но как? окно ведь мигает. можно как-то запаузить его?
-
Tosyk
Re: CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
Цитата Tosyk:
1. можно ли сделать поиск чанков рекурсивным? - если у меня в папке CHUNK будет структура сложнее одной папки
Можно. И сразу ответьте, что делать, если там окажется несколько файлов с подходящим именем (в разных каталогах)?
Цитата Tosyk:
2. можно ли сделать чтобы скрипт не заменял скопированный чанк если он уже есть в папке а именовал его как-то с суфиксом?
Можно. Как именно именовал «как-то с суфиксом»?
Цитата Tosyk:
3. можно ли добавить возможность копирования чанков с их оригиналными именами рядом с исходным файлом в папку CHUNKS?
Можно.
Цитата Tosyk:
4. можно ли как-то исбежать шаг разрешения выполнения подобных скриптов на компе?
А в чём проблема-то однократно разрешить исполнение локальных неподписанных скриптов?
Цитата Tosyk:
p.s.: можно ли как-то транслитировать этот код в auto-it и зашить в exe?
Полагаю, что можно.
1. можно ли сделать поиск чанков рекурсивным? - если у меня в папке CHUNK будет структура сложнее одной папки
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
Можно. И сразу ответьте, что делать, если там окажется несколько файлов с подходящим именем (в разных каталогах)?
Цитата Tosyk:
2. можно ли сделать чтобы скрипт не заменял скопированный чанк если он уже есть в папке а именовал его как-то с суфиксом?
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
Можно. Как именно именовал «как-то с суфиксом»?
Цитата Tosyk:
3. можно ли добавить возможность копирования чанков с их оригиналными именами рядом с исходным файлом в папку CHUNKS?
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
Можно.
Цитата Tosyk:
4. можно ли как-то исбежать шаг разрешения выполнения подобных скриптов на компе?
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
А в чём проблема-то однократно разрешить исполнение локальных неподписанных скриптов?
Цитата Tosyk:
p.s.: можно ли как-то транслитировать этот код в auto-it и зашить в exe?
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
Полагаю, что можно.
-
Iska
Re: CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
Цитата Iska:
что делать, если там окажется несколько файлов с подходящим именем (в разных каталогах)?
Цитата Iska:
Можно. Как именно именовал «как-то с суфиксом»?
максимальная глубина, на которую я расчитываю это в папке CHUNKS будут лежать ещё две папки: CHUNKS0 и CHUNKS1. поэтому можно к файлам применять суфикс ch0 и ch1 соответственно
Цитата Iska:
А в чём проблема-то однократно разрешить исполнение локальных неподписанных скриптов?
однократно за сессию или за всю жизнь винды? и может ли это привести к печальным последствиям безопасности?
что делать, если там окажется несколько файлов с подходящим именем (в разных каталогах)?
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
Цитата Iska:
Можно. Как именно именовал «как-то с суфиксом»?
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
максимальная глубина, на которую я расчитываю это в папке CHUNKS будут лежать ещё две папки: CHUNKS0 и CHUNKS1. поэтому можно к файлам применять суфикс ch0 и ch1 соответственно
Цитата Iska:
А в чём проблема-то однократно разрешить исполнение локальных неподписанных скриптов?
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
однократно за сессию или за всю жизнь винды? и может ли это привести к печальным последствиям безопасности?
-
Tosyk
Re: CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
Цитата Tosyk:
максимальная глубина, на которую я расчитываю это в папке CHUNKS будут лежать ещё две папки: CHUNKS0 и CHUNKS1. поэтому можно к файлам применять суфикс ch0 и ch1 соответственно
Ответьте, пожалуйста, на те вопросы, которые я задавал. Ни на какие другие, не заданные мною вопросы, отвечать не нужно.
Цитата Tosyk:
однократно за сессию или за всю жизнь винды? и может ли это привести к печальным последствиям безопасности?
Вот
максимальная глубина, на которую я расчитываю это в папке CHUNKS будут лежать ещё две папки: CHUNKS0 и CHUNKS1. поэтому можно к файлам применять суфикс ch0 и ch1 соответственно
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
Ответьте, пожалуйста, на те вопросы, которые я задавал. Ни на какие другие, не заданные мною вопросы, отвечать не нужно.
Цитата Tosyk:
однократно за сессию или за всю жизнь винды? и может ли это привести к печальным последствиям безопасности?
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
Вот
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
я приводил две ссылки. Прочтите их. Или — прочтите ещё раз.-
Iska
Re: CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
Цитата Iska:
что делать, если там окажется несколько файлов с подходящим именем (в разных каталогах)?
копировать оба в исходный каталог
Цитата Iska:
Как именно именовал «как-то с суфиксом»?
в качестве индекса использовать имя исходной папки
что делать, если там окажется несколько файлов с подходящим именем (в разных каталогах)?
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
копировать оба в исходный каталог
Цитата Iska:
Как именно именовал «как-то с суфиксом»?
CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
в качестве индекса использовать имя исходной папки
-
Tosyk
Re: CMD/BAT - копирование файлов по hash-имени из HEX исходного файла
Tosyk, чем больше я пытаюсь осмыслить все озвученные Вами хотелки, тем меньше они мне нравятся. Если реализовать всё задуманное — получится полная каша.
В общем — рекурсивный поиск и нумерация найденных дубликатов. Существующие файлы по месту назначения по-прежнему будут переписываться, не вижу никакого смысла менять данное поведение.
Скрытый текст
[spoiler]Код: [/spoiler]
В общем — рекурсивный поиск и нумерация найденных дубликатов. Существующие файлы по месту назначения по-прежнему будут переписываться, не вижу никакого смысла менять данное поведение.
Скрытый текст
[spoiler]Код: [/spoiler]
Код: Выделить всё
param(
[Parameter(Mandatory = $true)][System.String]$SourceFile,
[System.String]$sCHUNKFolder = 'C:\Мои проекты\0167\CHUNK'
)
$aByte4Find = [System.Byte[]](0xFF, 0xFF, 0xFF, 0xFF)
if(Test-Path -Path $SourceFile -PathType Leaf) {
$oSourceFile = [System.IO.FileInfo]$SourceFile
if(Test-Path -Path $sCHUNKFolder -PathType Container) {
Write-Host "[$($oSourceFile.FullName)]" -ForegroundColor Yellow
$aByteContent = [System.IO.File]::ReadAllBytes($oSourceFile.FullName)
$iCount = 0
for($i = 0; $i -le $aByteContent.Length - $aByte4Find.Length - 1; $i++) {
$bFound = $true
for($j = 0; $j -le $aByte4Find.Length - 1; $j++) {
if($aByteContent[$i + $j] -ne $aByte4Find[$j]) {
$bFound = $false
break
}
}
if($bFound) {
$sFoundFileName = [System.BitConverter]::ToString($aByteContent[$($i - 16) .. $($i - 1)]) -replace '-', ''
Write-Host "`tOffset: $i"
Write-Host "`tFound file name: $sFoundFileName"
$sChunkFile = "$sCHUNKFolder\$sFoundFileName.chunk"
$cChunkFiles = @(Get-ChildItem -Path "$sCHUNKFolder\$sFoundFileName.chunk" -File -Recurse)
if($cChunkFiles.Count) {
$iCount++
$jCount = 0
$cChunkFiles | ForEach-Object -Process {
$jCount++
$sDestFileName = "$($oSourceFile.BaseName)_$($iCount.ToString("00"))_$($jCount.ToString("00")).chunk"
Write-Host "`tFile [$($_.FullName)] found!" -ForegroundColor Green
Write-Host "`tCopy to [$($oSourceFile.DirectoryName)] as [$sDestFileName]." -ForegroundColor Green
[System.IO.File]::Copy($sChunkFile, "$($oSourceFile.DirectoryName)\$sDestFileName", $true)
}
} else {
Write-Host "`tFile(s) [$sFoundFileName.chunk] not found in folder [$sCHUNKFolder]!" -ForegroundColor Red
}
Write-Host ''
}
}
} else {
Write-Host "Can't find CHUNK folder [$sCHUNKFolder]." -ForegroundColor Red
}
} else {
Write-Host "Can't find source file [$SourceFile]." -ForegroundColor Red
}
Write-Host 'Press Enter to close...' -NoNewline; Read-Host | Out-Null