有没有办法在DOS批处理文件编程中获取文件名的前几个字符

有没有办法在DOS批处理文件编程中获取文件名的前几个字符

我在我的程序中使用它

for %%I in (*.txt) do (

文件名为%%I

现在我想分别分离前 2 个字符和接下来的 3 个字符。

这在 DOS 或 Cmd.exe 中可行吗?

答案1

http://www.dostips.com/DtTipsStringManipulation.php

set first2=%%I:~0,2% && set next3=%%I:~3,3%

我想..哎呀,已经有一段时间了!

答案2

@echo off 
setlocal enabledelayedexpansion
for %%a in (*.mp3) do ( 
  set oldName=%%a 
  Set newName=!oldName:~3! 
  Ren "!oldName!" "!newName!" ) 
exit

_Strip 3.cmd 是一个不错的保存名称。对我来说很管用。我有它(.mp3)仅适用于 mp3 文件...您可以将其更改为(.*)

如果您愿意,请将 ~3! 更改为另一个数字......~4! 将截断文件名的前 4 个字符。

答案3

在 Powershell 中:

$first2=$string.substring(0,2)
$next3=$string.substring(2,3)

相关内容