Меня зовут Сярц, и я новичок в программировании. Я хочу знать, как удалить символы из строки, используя cmd или командный файл.
Это строка в файле data.txt:
test.rar:$rar5$16$b19108e5cf6a5dadaa0ff515f59c6df7$15$f7f4933a2a8f7aa43d7fc31e86c47e2b$8$307ef2987e735bec
Я хочу это после запуска командного или пакетного файла в data.txt
$rar5$16$b19108e5cf6a5dadaa0ff515f59c6df7$15$f7f4933a2a8f7aa43d7fc31e86c47e2b$8$307ef2987e735bec
Я испробовал несколько методов, доступных на веб-сайте, но ни один из них не помог мне. Либо они удаляют всю строку, либо удаляют часть, откуда я не хочу.
То, что я уже пробовал
1 -
more +1 "data.txt" > "data_NEW.txt"
2 -
@echo off
(
for /F usebackq^ skip^=1^ delims^=^ eol^= %%L in ("data.txt") do echo(%%L
) > "data_NEW.txt"
3-
@echo off
(
for /F "skip=1 delims=" %%L in ('findstr /N "^" "data.txt"') do (
set "LINE=%%L"
setlocal EnableDelayedExpansion
echo(!LINE:*:=!
endlocal
)
) > "data_NEW.txt"
4 -
@echo off
for /F %%C in ('find /C /V "" ^< "data.txt"') do set "COUNT=%%C"
setlocal EnableDelayedExpansion
(
for /L %%I in (1,1,%COUNT%) do (
set "LINE=" & set /P LINE=""
if %%I gtr 1 echo(!LINE!
)
) < "data.txt" > "data_NEW.txt"
endlocal
5 -
void chopN(char *str, size_t n)
{
assert(n != 0 && str != 0);
size_t len = strlen(str);
if (n > len)
return; // Or: n = len;
memmove(str, str+n, len - n + 1);
}
6 -
void chopN(char *str, size_t n) {
char *dest = str;
// find beginning watching out for rump `str`
while (*str && n--) {
str++;
}
// Copy byte by byte
while (*src) {
*dest++ = *src++;
}
*dest = '\0';
}
7 -
for /f %%a in (input.txt) do set "line=%%a"
set "line=%line:pub:04:=%"
set "line=%line::=%"
echo %line%
8 -
@echo off
setlocal enabledelayedexpansion
set "first=true"
(for /f "eol=p delims=" %%a in (input.txt) do (
set "line=%%a"
if defined first (set "line=!line:~2!" & set "first=")
<nul set /p ".=!line::=!"
))>output.txt
Просто пытаюсь узнать что-то новое. Спасибо всем.