Я пытаюсь определить местоположение папки вируса, удалив последние 25 символов. Я обнаружил, что этого можно достичь с помощью кода, который я уже тестировал, и он отлично работает
$string = "the scripts"
$string = $string.Substring(0,$string.Length-1)
$string
Примеры строк
C:\Users\jose\Desktop\MUSICA\011_Leyendas\nlwdvakybapcybqkvcfwr\nlwdvakybapcybqkvcfwr.exe
C:\Users\jose\Desktop\MUSICA\70'S, 80'S & 90'S.english\nlwdvakybapcybqkvcfwr\nlwdvakybapcybqkvcfwr.exe
C:\Users\jose\Desktop\MUSICA\90\nlwdvakybapcybqkvcfwr\nlwdvakybapcybqkvcfwr.exe
C:\Users\jose\Desktop\MUSICA\AlbertoBarro\nlwdvakybapcybqkvcfwr\nlwdvakybapcybqkvcfwr.exe
C:\Users\jose\Desktop\MUSICA\BACHATA\nlwdvakybapcybqkvcfwr\nlwdvakybapcybqkvcfwr.exe
C:\Users\jose\Desktop\MUSICA\CHICO CHE MEZCLADO\nlwdvakybapcybqkvcfwr\nlwdvakybapcybqkvcfwr.exe
C:\Users\jose\Desktop\MUSICA\joan sebastian - M. A. Solís\nlwdvakybapcybqkvcfwr\nlwdvakybapcybqkvcfwr.exe
C:\Users\jose\Desktop\MUSICA\JUAN GABRIEL 1 DUOS\nlwdvakybapcybqkvcfwr\nlwdvakybapcybqkvcfwr.exe
Попытка сделать это с помощью метода FOR для подстроки некорректно обрезает строку, некоторые идеи о том, почему не работает ни один из этих примеров кода
$viruslocation = Get-Content -Path .\Desktop\virus.txt
for ($i = 1; $i -lt $viruslocation.Count; $i++) {
$Length =$viruslocation[$i]
$tem= $Length.Substring(0,$Length.Length-22)
write $tem
}
for ($i = 1; $i -lt $viruslocation.Count; $i++) {
$tem= $viruslocation[$i].Substring(0,$viruslocation[$i].Length-22)
write $tem
}
Ожидаемый результат
C:\Users\jose\Desktop\MUSICA\011_Leyendas\nlwdvakybapcybqkvcfwr