我有一个nested
文件,里面有一个数字。假设该数字设置为.txt
。
如何编写一个过滤var
的程序?即更改文字时执行
伪代码:
var
我想在Windows中使用批处理文件编写该文件。
答案 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