这是我的用户帐户的临时目录:
C:\Users\John\AppData\Local\Temp
是否存在所有用户都可以访问的临时目录?
答案1
Windows 目录中有一个临时目录,即 ,%SYSTEMROOT%\Temp
但已弃用。应用程序应使用用户特定的临时目录。
但是,您可以重定向用户的临时目录,这样您就可以让它们全部指向同一目录(如果您想要的话)。您只需更改它们的环境TMP
变量TEMP
以指向您想要的任何位置。确保所有受影响的用户都可以写入这个新目录。
答案2
不是一个温度目录本身,但您可以使用%PUBLIC%
AKAC:\Users\Public
作为解决方法。
此外,C:\Users\All Users
似乎机器上的所有用户都可以访问。
从快速搜索:
在所有 Windows 版本中,公共文件夹都位于“C:\Users\Public”。在 Windows 中注册的所有用户帐户都可以访问它。这就是它被命名为公共的原因。在“C:\Users\Public”中找到的任何文件和文件夹都可以由所有用户完全访问
答案3
(我powershell
在这里使用!)
解决方法 1
可以创建一个公共共享文件夹中的临时文件夹像这样:
## "$tmp": thus you can use $tmp later on to reference it
## "-force": does not complain if already existing
## " | out-null": suppresses md standard output
PS C:\> $tmp = "$env:public\tmp" ; md -force $tmp | out-null
所有用户都应该可以访问它。
但是共享文件夹可能是只读的如果明确配置。
解决方法 2
使用$env:windir\Temp
或者$env:systemroot\Temp
(例如C:\Windows\Temp
)似乎被弃用并且更丑陋,但有效(例如在操作系统环境)进行了一些额外的调整......
你不能列出它的直接内容,这可能不是坏事,取决于你的需求:
PS C:\> cd $env:windir\temp
PS C:\Windows\Temp> ls
ls : Der Zugriff auf den Pfad "C:\Windows\temp" wurde verweigert.
In Zeile:1 Zeichen:1
+ ls
+ ~~
+ CategoryInfo : PermissionDenied: (C:\Windows\temp:String) [Get-ChildItem], UnauthorizedAccessException
+ FullyQualifiedErrorId : DirUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand
PS C:\Windows\Temp> md test ; echo "test123" > test\test.txt
Verzeichnis: C:\Windows\temp\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 28.09.2018 17:08 20 test.txt
但是,如果其他用户没有管理员权限,他们将无法正常看到它:
## as other non-admin user:
PS C:\Windows\Temp> cd test
cd : Zugriff verweigert
In Zeile:1 Zeichen:1
+ cd test
+ ~~~~~~~~
+ CategoryInfo : PermissionDenied: (C:\Windows\Temp\test:String) [Set-Location], UnauthorizedAccessException
+ FullyQualifiedErrorId : ItemExistsUnauthorizedAccessError,Microsoft.PowerShell.Commands.SetLocationCommand
cd : Der Pfad "C:\Windows\Temp\test" kann nicht gefunden werden, da er nicht vorhanden ist.
In Zeile:1 Zeichen:1
+ cd test
+ ~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\Windows\Temp\test:String) [Set-Location], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.SetLocationCommand
为了解决这个问题,可能还需要通过更改权限Set-Acl