Isso faz isso
@echo off
setlocal enableextensions enabledelayedexpansion
set /p num=Enter chars to show between quotes:
set /a num=%num%+1
for /f "delims=" %%f in (a.txt) do (
set a=%%f
echo !a:~0,%num%!^"
)
Então, usando o seu exemplo, está em a.txt Então, cada linha começa com uma citação e também há espaços, embora funcione se não houver espaços também.
"hey what is going on @mike220. I am working on your car. Its engine is in very bad condition"
"Because if you knew, you'd get shredded and do it with certainty"
"@honey220 Do you know someone who has busted their ass on a diet only for results to come to a screeching halt after a few weeks"
E executando o script em lote
C:\blah>a.bat
Enter chars to show between quotes: 3
"hey"
"Bec"
"@ho"
C:\blah>a.bat
Enter chars to show between quotes: 50
"hey what is going on @mike220. I am working on you"
"Because if you knew, you'd get shredded and do it "
"@honey220 Do you know someone who has busted their"
C:\blah>
Eu adicionei agora duas linhas, para torná-lo a saída para um arquivo def.txt
@echo off
setlocal enableextensions enabledelayedexpansion
del def.txt 2>nul
set /p num=Enter chars to show between quotes:
set /a num=%num%+1
for /f "delims=" %%f in (a.txt) do (
set a=%%f
echo !a:~0,%num%!^"
echo !a:~0,%num%!^" >>def.txt
)
C:\crp\dlsnex>a
Enter chars to show between quotes: 2
"he"
"Be"
"@h"
C:\crp\dlsnex>type def.txt
"he"
"Be"
"@h"
C:\crp\dlsnex>
for
declarações em cmd são um pouco complicadas. Para entender isso, basta começar a escrever uma instrução for que imprima todas as linhas de um arquivo, sem aparar, e use um arquivo simples como um com duas linhas abcdefg e hijklmn. Então, para a declaração for /f %f in (a.txt) do @echo %f
, você a constrói. Mas é aí que você começa, se quiser descobrir como fazer isso. Depois de ter isso, adicione o "delims=" ver o efeito que tem (você pode precisar de alguns espaços nas linhas do arquivo, para ver o efeito). Em seguida, observe como você pode obter uma substring em lote. defina a = abcdefg echo% a: ~ 0,2% (imprime ab).