我想创建一个使用批处理文件过滤数字的程序

时间:2018-07-16 10:11:31

标签: windows batch-file cmd

我有一个nested文件,里面有一个数字。假设该数字设置为.txt

如何编写一个过滤var的程序?即更改文字时执行

伪代码:

var

我想在Windows中使用批处理文件编写该文件。

2 个答案:

答案 0 :(得分:1)

这是开始使用PowerShell的一种方法。

$thefile = './thenumber.txt'
$var = Get-Content -Path $thefile
if ($var.Length -eq 9) {
    $($var.Substring($var.Length - 8)) | Out-File -FilePath $thefile -Encoding ascii
} elseif ($var.Length -gt 9) {
    $('0' + $var.Substring($var.Length - 7)) | Out-File -FilePath $thefile -Encoding ascii
} else {
    # seemingly useless
    $var | Out-File -FilePath $thefile -Encoding ascii
}

将上面的代码放入文件last9.ps1中。可以从cmd.exe提示符下运行。

powershell -NoProfile -File .\last9.ps1

答案 1 :(得分:-1)

@echo off
setlocal 

call  :convert 12345678
call  :convert 123456789
call  :convert 1234567890

goto :eof

:convert
set var=%1
if "%var:~8,1%" == "" (
  echo less than 9 digits
  echo %1 -- %var%
  goto :eof
)
if "%var:~9,1%" == "" (
  echo exactly 9 digits
  echo %1 -- %var:~-8%
  goto :eof
)
echo more than 9 digits
echo %1 -- 0%var:~-7%

在需要时,再添加两个if,以检查是< 8还是> 10