0

ここに私の問題があります。バッチを作成し、単語間のすべてのスペースを文から移動したい。私はこれを一方向にしました。しかし、スペースを変数として設定し、その変数を set コマンドで使用したいと考えています。変数の定義をチェックした後、このスペース変数を適切にエコーしても、最後の文で移動できません。誰かが理由を教えてくれますか?

@echo off

::why this doesnt work???


(set /p word2=i will make )<nul>textfile.txt

<nul (set/p word3=all strings be )>>textfile.txt

<nul (set/p word4=one longstring)>>textfile.txt

echo(

type textfile.txt

echo(

echo(

::seting space

set sp=a b

set sa=%sp:a=%

set space=%sa:b=%

if defined space (echo space is defined) else (echo space is not defined)

echo(

echo lets see:%space%%space%%space%something%space%something%space%%space%, ...works

echo(

set /p inputalltext=<textfile.txt

echo %inputalltext%...input from textfile

set noplaceforspace=%inputalltext: =% ...as you see as normal,no space

echo %noplaceforspace%

::so, problem starts here. why are here  places if space is defined and good echoing

::of space variable??

setlocal enabledelayedexpansion

set nogoodresult=%inputalltext:!space!=%

echo %nogoodresult%%space%%space% here i dont want space between words

echo(

pause
4

2 に答える 2