batch-file - CMD 用户名变量
问题描述
有一个文件夹“Folder1”
%SYSTEMDRIVE%/users/[username]/appdata/local/Folder/Folder1/
这是在用户的文件夹中。用户名未知。
@Echo Off
Set Folder1=%SYSTEMDRIVE%/users/[username]/appdata/local/Folder/Folder1/Folder2/
IF EXIST Lotus (
move %SYSTEMDRIVE%/users/[username]/appdata/local/Folder/Folder1/ %SYSTEMDRIVE%/users/[username]/appdata//local/
) ELSE (
goto end
)
如何设置username
?
解决方案
如果文件夹名称是已知/静态的,您可以使用以下简单的方法:
for /d %%A in (%SYSTEMDRIVE%\Users\*) do (
if exist "%%A\appdata\local\Folder\Folder1\Lotus" (
move "%%A\appdata\local\Folder\Folder1\" "%%A\appdata\local\"
)
)
for /d
只会循环遍历指定的文件夹而不是递归的。我不确定你是如何if
设置你的东西的,但如果你的目标是获取用户配置文件,这是一种简单的方法。
参考:for /d
推荐阅读
- python - 第一次迁移到新的 PostgreSQL 数据库。ValueError: int() 以 10 为底的无效文字:''
- asp.net - 如何在asp.net中为sql数据源输入文本'<'和'>'
- java - docker 容器中的 Java 进程在 docker stop 后始终以状态 137 结束
- ios - 从 magento 2.0 REST Api 获取多个产品图像以用于购物车列表 - Swift 4
- javascript - 如果两个布尔值为真但也可以为空或不存在,则返回真
- java - ColumnHideCommand makes the table columns to disappear in NatTable, when all table elements are selected
- dart - 屏幕外列表图块处理
- android - 如何在管道中缓存库?
- android - 保存后不显示个人资料图像(它只显示空白屏幕)
- .net - 发生意外关闭时,有什么方法可以防止 service.exe 损坏