我有一个场景,用户个人文件夹以 user.domain 的格式创建。例如:C:\Users\John.Doe.CORP\*
。问题是我有使用的脚本C:\Users\%USERNAME%\
现在可以转换为C:\Users\John.Doe\*
并破坏脚本。
我想做以下类似的事情,但需要批量帮助:
set USERDIR=echo %USERPROFILE% | sed -i -e 's|C:\users\||g'
echo %USERDIR%
John.Doe.Corp
C:\Users\
例如从 the中剥离,%USERPROFILE%
这样即使%USERNAME%
不匹配C:\Users\%USERNAME%\
我也可以使用C:\Users\%USERDIR%\
我很难理解您的问题,但我认为您想要的是创建一个变量,该变量只有用户名后跟一个点,然后是域。
这可能很简单:
如果您真的想从用户路径中删除它,并且可以确保它始终位于 c:\Users 中,则可以使用以下命令:
以上基本上是在 %USERPROFILE% 上进行搜索和替换,以
C:\Users\
从字符串中删除并将其存储在变量中%User%
。就我而言,没有尾随\,所以我不必删除它。
但是,如果您只想使用 C:\Users\Username.Domain,它已经存储在 中
%USERPROFILE%
,只需使用该路径,无需更改它。编辑:您对这个答案的评论最终告诉我们缺少的信息,即:最终结果是什么?
因此,我将提出一个不同的解决方案。
您提到您有路径 C:_users_username_domain_appdata,并且鉴于 appdata 内只有 3 个文件夹,并且通常漫游是您想要的,%appdata% 将是您想要使用的路径。您可以使用以下 set 命令正确格式化该路径:
如果您不希望最后漫游部分,还请执行以下操作:
有关用字符串中的另一个文本替换文本的更多信息,请参阅:https ://ss64.com/nt/syntax-replace.html