Я не уверен, что полностью понял ваш вопрос, поэтому он предназначен для изменения порядка каждой подстроки, разделенной пробелом, в строке.
Для этой задачи я бы использовал PowerShell.
В приглашении
powershell ,
(powershell.exe) :
GC '.\x.txt'|%{$L=$_.Split(' ');[Array]::Reverse($L);$L -Join ' '}|SC '.\results.txt'
В командной строке , (cmd.exe) :
"%__AppDir__%WindowsPowerShell\v1.0\powershell.exe" -NoP "GC '.\x.txt'|%{$L=$_.Split(' ');[Array]::Reverse($L);$L -Join ' '}|SC '.\results.txt'
Из пакетного файла :
@"%__AppDir__%WindowsPowerShell\v1.0\powershell.exe" -NoP "GC '.\x.txt'|%%{$L=$_.Split(' ');[Array]::Reverse($L);$L -Join ' '}|SC '.\results.txt'
Если вы работаете только с первой строкой файла, в отличие от всех них, требуется небольшая модификация.
По приглашению powershell , (powershell .exe) :
GC '.\x.txt' -To 1|%{$L=$_.Split(' ');[Array]::Reverse($L);$L -Join ' '}|SC '.\results.txt'
В командной строке , (cmd.exe) :
"%__AppDir__%WindowsPowerShell\v1.0\powershell.exe" -NoP "GC '.\x.txt' -To 1|%{$L=$_.Split(' ');[Array]::Reverse($L);$L -Join ' '}|SC '.\results.txt'
От a batch-file :
@"%__AppDir__%WindowsPowerShell\v1.0\powershell.exe" -NoP "GC '.\x.txt' -To 1|%%{$L=$_.Split(' ');[Array]::Reverse($L);$L -Join ' '}|SC '.\results.txt'
Обратите внимание, что в обоих случаях, если ваши строки на самом деле заключены в двойные кавычки, они не будут сдвигаться. Это означает, что
"I have two kids"
, будет выводиться как
kids" two have "I
, а не
"kids two have I"
.