如何设置要由批处理脚本更改并输出为.txt的文本文件并擦除原始文本文件的内容?

时间:2018-06-21 18:05:46

标签: windows batch-file cmd

好的,所以我有一个文本文件正在尝试处理。批处理反转文本。 该批次在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

1 个答案:

答案 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%