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