Если вы работаете на платформе Windows, из-за предоставленного вами кода и включенных тегов…
В следующем примере batch-file будут удалены пробелы и табуляции, а также удалены все пустые строки.:
@If Exist "CODE_CHECK.txt" (For /F Delims^=^ EOL^= %%A In ('More /T1 "CODE_CHECK.txt"')Do @Set "$=%%A"&Call Echo(%%$: =%%)>"CODE_CHECK_2.txt"
Чтобы сохранить какие-либо пустые строки, используя пакетный файл , вам понадобится что-то вроде этого:
@If Exist "CODE_CHECK.txt" (For /F "Tokens=1*Delims=]" %%A In ('More "CODE_CHECK.txt"^|Find /V /N ""')Do @Set "$= %%B"&Call Echo(%%$: =%%)>"CODE_CHECK_2.txt"
InВ этом примере я удалил параметр /T1
для More
, я не уверен, является ли его включение более или менее эффективным
Вы также можете использовать powershell для этого (при необходимости входной и выходной файлы могут совпадать) :
(GC 'CODE_CHECK.txt') -Replace '\s',''|SC 'CODE_CHECK_2.txt'
Вы также можете запустить версию powershell из batch-file :
@PowerShell -NoP "(GC 'CODE_CHECK.txt') -Replace ' |\t',''|SC 'CODE_CHECK_2.txt'"
В этой версии я использовал ' |\t'
, как возможную альтернативу '\s'
.