如何批量合并两个单词中的“x”字符数量?

时间:2013-12-03 09:04:03

标签: batch-file username

我的朋友想从他生成的列表中取一个名字,并从该名称创建一个用户名。

他是如何从列表中获取名称的,或者他有一个列表就没有关系,因为他想知道的是你如何使用批量取3个字母的基本信息。第一个名字和姓氏的3个首字母,并将这些字母组合成一个用户名。

我真的没有任何例子可以展示,我根本没有批量经验,所以我希望你们能给我一个很好的答案:)

谢谢!

2 个答案:

答案 0 :(得分:1)

这是执行指示任务的示例代码。

对于批处理文件中的字符串操作,请从set命令帮助(set /?从命令行)开始读取。在批量编程的每个方面,stackoverflow都有很多信息。尝试,当发现问题时,请询问。

@echo off

    call :getUserName "John" "Smith" userName
    echo %userName%

    call :getUserName "Jo" "Jones" userName
    echo %userName%

    exit /B

:getUserName Name LastName returnVariable
    setlocal
    rem get parameters
    set "name=%~1"
    set "lastName=%~2"
    rem remove spaces and add some padding
    set "name=%name: =%___"
    set "lastName=%lastName: =%___"
    rem clean and return value: 
    rem   3 characters from position 0 from both parameters
    endlocal & set "%~3=%name:~0,3%%lastName:~0,3%"
    goto :EOF

答案 1 :(得分:0)

制作一个测试文件,其名称要解析为'names.txt',包含2行(Richie Rich和Diamond Rock),然后创建这个脚本:

@echo off
setlocal enabledelayedexpansion
for /f "tokens=1-2 delims= " %%G in ( names.txt ) do (
   set firsname=%%G
   set lastname=%%H
   set first=!firsname:~0,3!
   set last=!lastname:~0,3!
   echo !first!!last!
)

输出是RicRic和DiaRoc。希望这会有所帮助。