windows - 批量在网络文件夹中创建文件夹

标签 windows batch-file

我已经完成了一个小批处理,创建了一个包含当前日期(年/月/日)的文件夹。 这是代码:

mkdir %date:~-4,4%_%date:~-7,2%_%date:~0,2%

但是当我在网络文件夹中使用它时它不起作用 例如“\192.168.1.100\01-SCHEMA”

我能做什么?谢谢! :) 丹尼斯

最佳答案

为网络共享分配一个临时驱动器号并进行处理:

NET USE Z: \\192.168.1.100\01-SCHEMA
mkdir z:\%date:~-4,4%_%date:~-7,2%_%date:~0,2%
NET USE Z: /DELETE

或者更简单一点,let PUSHD / POPD do the same for you :

PUSHD \\192.168.1.100\01-SCHEMA
mkdir %date:~-4,4%_%date:~-7,2%_%date:~0,2%
POPD

另一种可能性,从现已删除的评论来看,是在命令中使用整个网络路径:

mkdir \\192.168.1.100\01-SCHEMA\%date:~-4,4%_%date:~-7,2%_%date:~0,2%

更新/跟进:在这种情况下(按照要求)的一般方法是评估所有网络共享并迭代它们。如果您确定确实想要包含所有共享,请使用下面的代码(需要放入.bat 文件中) 。使用NET VIEW\\192.168.1.100预先检查共享列表。

@ECHO OFF
SET HOST=192.168.1.100
FOR /F "tokens=1" %%G IN ('NET VIEW \\%HOST% ^| FINDSTR Disk') DO (
    MKDIR "\\%HOST%\%%G\%date:~-4,4%_%date:~-7,2%_%date:~0,2%"
)

后续#2:为了以编程方式在独立于实际网络路径的网络共享上创建文件夹,这一行就足够了:

MKDIR "%~dp0%date:~-4,4%_%date:~-7,2%_%date:~0,2%"

它之所以有效,是因为 %~dp0(扩展为当前运行脚本的驱动器号和路径)如果从网络共享运行,将为您提供 UNC 路径。所以这个解决方案或多或少类似于这个答案第一部分的方法#3。

关于windows - 批量在网络文件夹中创建文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36892009/

相关文章:

batch-file - 批量将变量写入文件不起作用

windows - 在批处理脚本中运行 rmdir 命令时如何解决 "The directory is not empty"错误?

windows - WIN32 : Yielding execution to another (given) thread

windows - IE6 和 IE7 独立版 : What do they render differently?

windows - 发布时出现异常,异常信息[Exec timed out or was interrupted after .. ms]

batch-file - 在cygwin中从网络共享(vmware共享文件夹)运行批处理文件

windows - 如何在目录树中递归地用下划线替换所有文件和文件夹名称中的所有空格?

windows - 如何在 D 中开发库

windows - 如何在 MSSQL Server 连接字符串中从 docker 容器引用主机端口?

windows - 如何仅在 TortoiseGit 或 Windows 中的 diff 中获取更改的行?