Тема: CMD/BAT: Как удалить последние 6 символов из txt
Здравствуйте, Как удалить последние 6 символов из первой строчки txt файла?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здравствуйте, Как удалить последние 6 символов из первой строчки txt файла?
Никак. Только созданием временного файла и замещением исходного. Например:
@echo off
setlocal
set sFile=0001.txt
set sTempFile=temp.tmp
<"%sFile%" set /p sLine=>nul
echo %sLine:~0,-6%>"%sTempFile%"
more +1 "%sFile%">>"%sTempFile%"
ren "%sFile%" "%sFile%.bak"
ren "%sTempFile%" "%sFile%"
endlocal
exit /b 0Читаем первую строку исходного файла в переменную окружения «sLine»:
<"%sFile%" set /p sLine=>nulВыводим все символы прочтённой первой строки, за исключением последних шести, в новый временный файл:
echo %sLine:~0,-6%>"%sTempFile%"Добавляем все строки исходного файла, за исключением первой, в тот же временный файл:
more +1 "%sFile%">>"%sTempFile%"Добавляем к исходному файлу расширение «.bak», меняем имя временного файла на имя исходного файла:
ren "%sFile%" "%sFile%.bak"
ren "%sTempFile%" "%sFile%"Спасибо помогло, а если нужно ещё добавить текста, допустим "LAD"
Если делаю так, то текст добавляется с новой строки, а мне надо на первую.
echo LAD >>1.txtecho %sLine:~0,-6%LAD>"%sTempFile%"echo LAD%sLine:~0,-6%>"%sTempFile%"Он в начало текста добавляет, мне надо в конец
Первый пример из моего предыдущего поста.
Помогите пожалуйста, как удалить последний символ, в конце файла (не строки)??
mshta "about:<hta:application id=xxx />:<script>f=new ActiveXObject('Scripting.FileSystemObject').GetFile(xxx.commandLine.replace(/".*"[\t ]+/g,'').replace(/\\/g,'\\\\'));x=f.OpenAsTextStream();s=x.ReadAll().substr(0,f.Size - 1);x=f.OpenAsTextStream(2);x.Write(s);x.Close();window.close();</script>" c:\temp\sample.txt
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться