我看过很多关于创建一个独特文件名的帖子,从天真的%TIME%到合理的(但不足)%RANDOM%.使用wmic os get localdatetime更好,但它仍然可以在多个CPU /核心机器上失败.在多核计算机上运行5+ shell时,以下脚本最终会失败.
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /L %%i IN (0, 1, 1000) DO (
FOR /F "usebackq" %%x IN (`wmic os get localdatetime ^| find "."`) do (set MYDATE=%%x)
ECHO MYDATE is now !MYDATE!
IF EXIST testuniq_!MYDATE!.txt (
ECHO FAILED ON !MYDATE!
GOTO TheEnd
)
COPY NUL >testuniq_!MYDATE!.txt
)
:TheEnd
EXIT /B 0
Run Code Online (Sandbox Code Playgroud)
有没有人有可靠的方法在shell脚本中创建一个唯一的文件名?
我正在编写一个需要通用临时文件夹的程序.我正在尝试查找有关Windows Temp文件夹的详细信息.我知道有两条路 -
在AppData\Local\Temp \下的每个用户目录中,这可能会因Windows版本而有所变化?
在Temp \(C:\ Windows\Temp)下的系统文件夹中
我想知道Windows究竟对这些做了什么.如果Windows从任一位置删除文件,它何时会这样做?我应该如何/应该使用这些目录进行编程?
编辑:我实际上有一个更大的问题 - 由于某个引擎我间接运行我的程序,它使用我在临时目录中创建的文件,我需要一个不使用路径中的空格字符的临时目录.Windows上的Java的System.getProperty("java.io.tmpdir")为我提供了用户目录中的临时文件,在XP上的文档和设置...不好.有什么建议?这就是为什么我想知道C:\ Windows\Temp \目录......