从批处理文件中的数组中删除元素

DerStrom8

我在包含几个文件目录的批处理文件中有一个数组。我想删除数组的前三个元素,并将所有内容移过来(即,第四个元素代替第一个元素,第五个元素代替第二个元素,第六个元素代替第三个元素,依此类推)。这可以在批处理脚本中完成吗?

例:

[directoryA, directoryB, directoryC, directoryD, directoryE, directoryF]

更改为:

[directoryD, directoryE, directoryF]

这是我为“数组”编写的代码:

set paramCount=0
for %%x in (%*) do (
  set /A paramCount+=1
  set "dirs[!paramCount!]=%%x"
)
泰勒·Hx

我能想到的最好的办法是有两个“数组”,一个用于数据,另一个用于数据当前是否有效。下面的示例代码创建一个dirs保存任何命令行参数的valid“数组”和另一个“数组”,然后仅从中打印“有效”数据dirs

valid[i]1当且仅当输入的数据dirs[i]有效时才等于in中的任何其他值valid[i]将指示dirs[i]将忽略其中的数据

@echo off
setlocal enabledelayedexpansion

set paramCount=0
for %%x in (%*) do (
  echo %%x
  set /A paramCount+=1

  REM Add data to dirs array
  set "dirs[!paramCount!]=%%x"

  REM Add valid flag to valid array
  set "valid[!paramCount!]=1"
)

echo Printing...

REM Delete element at index 2
set valid[2]=0

REM Print the modified array
for /L %%a in (1 1 %paramCount%) do (
  IF !valid[%%a]!==1 (echo !dirs[%%a]!)
)

示例输出:

$>deletetest.bat 1 2 3 4
1
2
3
4
Printing...
1
3
4

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在批处理文件中复制数组

来自分类Dev

从cmd批处理文件中的“类型”中删除字符

来自分类Dev

从批处理文件中的变量中删除空间

来自分类Dev

窗口批处理文件-从文件路径中删除目录

来自分类Dev

批处理文件以从文件名中删除减号

来自分类Dev

批处理文件:从.tsv文件中删除回车

来自分类Dev

删除批处理文件中的第1行

来自分类Dev

如何删除批处理文件中的新行?

来自分类Dev

在批处理文件中删除尾随\的问题

来自分类Dev

批处理文件以删除csv中的列

来自分类Dev

删除批处理文件中的第1行

来自分类Dev

无法访问批处理文件中的数组索引

来自分类Dev

在批处理文件中创建数组结构?

来自分类Dev

对于批处理文件中的循环

来自分类Dev

在Powershell中执行批处理文件

来自分类Dev

在批处理文件中设置路径

来自分类Dev

在批处理文件中减去天数

来自分类Dev

在Java中运行批处理文件

来自分类Dev

批处理文件中的网址解码

来自分类Dev

批处理文件:变量中的变量

来自分类Dev

在批处理文件中列出键值对

来自分类Dev

批处理文件中的wkhtmltopdf

来自分类Dev

批处理文件中的变量乘法

来自分类Dev

批处理文件中的PHPUnit设置

来自分类Dev

在批处理文件中引发异常

来自分类Dev

批处理文件中的阻止代码

来自分类Dev

批处理文件中括号的问题

来自分类Dev

批处理文件中的括号

来自分类Dev

批处理文件变量中的句点