好的,所以我有一个文本文件正在尝试处理。批处理反转文本。 该批次在cmd> batch.bat中工作正常,我很高兴[输入] yppah ma i
但是我一直在尝试这样做。 cmd> batch.bat input.txt [输入] output.txt
因此,基本上,如果input.txt表示abcdef-output.txt将表示fedcba,而input.txt将为空白。
我在这里尝试过类似问题的许多代码片段,但都做得不好; input.txt保持不变,output.txt保持为空。
当我尝试运行此命令以将文件设置为针对批处理文件运行时, C:....> batch.bat设置/ p Build = input.txt
我只是得到类似C:....> echo txt.tupni = dliuB p / tes的信息 txt.tupni = dliuB p / tes
我在这里尝试了许多不同问题的代码,它们全都倒退而不是文件内容。我一定是在犯一个菜鸟的错误。也许我可以通过在其中添加一行来编辑批处理的方式...类似:
设置文件= input.txt ...
outfile = output.txt
我认为这样可以简化操作,但是每次我尝试将设置文件和outfile添加到批处理文件时,整个批处理都将停止工作。
这是批处理文件。它可以正常工作,只是不喜欢C:...> batch.bat“ sometext” ... “ txetemos”
我知道我问这个问题会使这里的一些更认真的编码人员感到厌烦,但是我会尽我所能学习,而且我觉得对此代码进行简单的更改就可以使其变得完美……所以这就是批处理。” >
setlocal
if [%1] neq [] goto start
echo Reverse Given Text
echo Usage: %0 text
goto :end
:start
set _len=0
set _str=%*
:: Get the length of the sentence
set _subs=%_str%
:loop
if not defined _subs goto :result
::remove the first char
set _subs=%_subs:~1%
set /a _len+=1
goto loop
:result
set /a _len-=1
for /l %%g in (0,1,%_len%) do (
call :build %%g
)
echo %s%
goto :end
:build
:: get the next character
call set _digit=%%_str:~%1,1%%%
set s=%_digit%%s%
:end
endlocal
我设置了几种不同的方法来实现set file =和> outfile,并且没有运气,所以我尝试在cmd行上添加代码,我得到了 回声“ edoc sdrawkcab” “向后代码”
编辑:切出无用的代码并进行以下编辑;
编辑!: 我发现正在运行batch.bat“ text” >> log.txt [输入] 将“ txet”附加到log.txt中...这解决了输出到文本文件的问题。
现在我只需要弄清楚如何使input.txt的文本针对batch.bat运行,这将使用有效的batch.bat来反转其文本 我认为我可以通过制作一个maincaller“ maincaller.bat”文件来运行它来实现这一点:
batch.bat [set-file = input.txt] >> log.txt
或类似的结果会导致如下结果: input.txt读取abra cadabra 我需要一个命令来导致
>> plog.txt文件中的“ arbadac arba”
EDIT * OUTPUT.TXT现在将改为log.txt
答案 0 :(得分:0)
我不太了解您想要什么,但是这里有一些代码可以“还原”字符串:
@echo off
setlocal enabledelayedexpansion
set "string=Hello World"
set "reverse="
for /l %%i in (0,1,100) do set "reverse=!string:~%%i,1!!reverse!"
echo %string% - %reverse%