我的朋友想从他生成的列表中取一个名字,并从该名称创建一个用户名。
他是如何从列表中获取名称的,或者他有一个列表就没有关系,因为他想知道的是你如何使用批量取3个字母的基本信息。第一个名字和姓氏的3个首字母,并将这些字母组合成一个用户名。
我真的没有任何例子可以展示,我根本没有批量经验,所以我希望你们能给我一个很好的答案:)
谢谢!
答案 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。希望这会有所帮助。