这就是我的问题。我做了一个批次,想要从句子中移动单词之间的所有空格。我用一种方法做到了这一点。但我想将space设置为变量,并在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发布于 2013-04-10 06:29:02
请看我的例子:
@echo off&setlocal
set "space= "
set "sentence=this is a long sentence with many words "
setlocal enabledelayedexpansion
set "sentence=!sentence:%space%=!"
echo "%sentence%"发布于 2013-05-09 05:22:25
如果你正在运行一个常规的批处理,你应该能够做“句子”,只要你在它周围有“”。系统应输入一个空格
https://stackoverflow.com/questions/15913585
复制相似问题