字符串替换 *./*: 什么都不做,使用从命令行传递给批处理文件的变量

用户66001

我正在撕我的头发。为什么不能有一个可用于批处理脚本的调试器?

我当前的批处理脚本的第一步(它必须使用这种“语言”,因为我没有可以使用的 c/wscript)只是删除小时部分(最初是格式 1:10,最近已更改为尝试使用与set替换部分字符串的分隔符不同的小时+分钟分隔符),以便我也可以获得参数的分钟部分。到目前为止,我已经尝试过:

  1. 延迟扩张—— set ShutdownMinute2762=!ShutdownTime2762:*.=!
  2. 各种版本的标准扩展(如一些记忆中的例子):

    一世。set ShutdownMinute2762=%ShutdownTime2762:*.=%
    ii. set ShutdownMinute2762=%%ShutdownTime2762%:*.=%
    三、set ShutdownMinute2762=%%%ShutdownTime2762%:*.=%%

  3. 逃离既*与该.call set的版本,用^

  4. [如下] 在脚本启动时将参数存储在另一个变量中
  5. ShutdownTime2762在脚本中设置变量,而不是通过参数
  6. [如下] - 使用 call set

    setlocal
    
    set ShutdownTime2762=%1
    
    call set ShutdownMinute2762=%%ShutdownTime2762:*.=%%
    call set ShutdownHour2762=%%ShutdownTime2762:%ShutdownMinute2762%=%%
    
    echo.%ShutdownHour2762%
    echo.%ShutdownMinute2762%
    
    endlocal
    

提供的输入: 1.10
预期的输出:
1
10

随着每。单身的。跑步。后。每一个。单身的。改变。%ShutdownHour2762%%ShutdownMinute2762%显示为空。我错过了什么?

麻古

for /f "tokens=1* delims=." %%a in ("%1") do set shutdownhour=%%a&set shutdownminute=%%b

echo %shutdownhour%
echo %shutdownminute%

做你想做的事?


使用set

@ECHO OFF
SETLOCAL

SET "var1=%1"
SET "var2=%var1:*.=%"
CALL set "var1=%%var1:.%var2%=%%"
SET var

GOTO :EOF

setlocal可确保在过程结束时取消对环境所做的任何更改,以便更改不会因运行多个批次或重复批次而累积。

第一个set从命令行分配第一个参数var1,给定参数1.10应该分配1.10var1

添加echo此时使用的两个变量的 es 确实应该不会产生输出,var2但应该显示1.10for var1

第二个setvar1 第一个字符在内的所有字符分配.var2,因此var2应该获取该值10

第三个set使用 acall来调用解析两次。第一个替换的值var2(因为在 single 之间%),第二个执行,set "var1=%var1:.10=%"因为 的值var2将被替换到命令中。这分配1var1因为 the.10nothing替换

set var上节省打字echo %var1% %var2%,因为它列出了所有变量的值开始var

set "var=value"我习惯使用语法,因为它确保批处理行上的尾随空格不包含在分配的值中(这可能很难调试)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

批处理文件以搜索和替换字符串

来自分类Dev

用文件内容替换字符串

来自分类Dev

用文件内容替换字符串

来自分类Dev

重击字符串替换命令结果

来自分类Dev

Bash变量替换和字符串

来自分类Dev

用字符串替换命令替换

来自分类Dev

替换字符串中的变量

来自分类Dev

php变量包含字符串并替换

来自分类Dev

JavaScript替换字符串中的变量

来自分类Dev

替换或向文件添加字符串

来自分类Dev

批处理文件中的字符串替换问题

来自分类Dev

如何使用批处理文件以递归方式替换文件中的字符串?

来自分类Dev

用变量替换字符串

来自分类Dev

替换或向文件添加字符串

来自分类Dev

文件中的字符串替换

来自分类Dev

PERL:文件上的字符串替换

来自分类Dev

传递替换字符串作为参数

来自分类Dev

Powershell替换字符串中的变量

来自分类Dev

使用awk命令替换字符串

来自分类Dev

在批处理文件中用通配符替换字符串

来自分类Dev

如何从变量替换子字符串?

来自分类Dev

sed用变量替换字符串?

来自分类Dev

复制文件并替换字符串

来自分类Dev

使用sed替换字符串,但避免在子字符串替换时替换

来自分类Dev

替换字符串中的变量

来自分类Dev

替换命令条件以替换字符串

来自分类Dev

替换字符串中的变量替换错误的字符

来自分类Dev

使用 Windows 批处理文件删除/替换文本文件字符串

来自分类Dev

使用批处理文件替换csv文件中的字符串