Den*_*sso 2 windows batch-file
我已经完成了一小批创建具有当前日期(年/月/日)的文件夹。这是代码:
mkdir %date:~-4,4%_%date:~-7,2%_%date:~0,2%
Run Code Online (Sandbox Code Playgroud)
但是当我在网络文件夹中使用它时它不起作用,例如“\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
Run Code Online (Sandbox Code Playgroud)
或者更简单一点,让PUSHD/POPD为你做同样的事情:
PUSHD \\192.168.1.100\01-SCHEMA
mkdir %date:~-4,4%_%date:~-7,2%_%date:~0,2%
POPD
Run Code Online (Sandbox Code Playgroud)
从现在删除的评论中,另一种可能性是在命令中使用整个网络路径:
mkdir \\192.168.1.100\01-SCHEMA\%date:~-4,4%_%date:~-7,2%_%date:~0,2%
Run Code Online (Sandbox Code Playgroud)
更新/跟进:这种情况下的一般方法 - 如所问 - 是评估所有网络共享并对其进行迭代。如果您确定确实要包含所有共享,请使用下面的代码(需要放入.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%"
)
Run Code Online (Sandbox Code Playgroud)
后续行动 #2:为了在独立于实际网络路径的网络共享上/上以编程方式创建文件夹,这一行就足够了:
MKDIR "%~dp0%date:~-4,4%_%date:~-7,2%_%date:~0,2%"
Run Code Online (Sandbox Code Playgroud)
之所以有效%~dp0,是因为扩展为当前正在运行的脚本的驱动器号和路径,如果从网络共享运行,它将为您提供 UNC 路径。所以这个解决方案或多或少类似于这个答案第一部分的方法#3。
| 归档时间: |
|
| 查看次数: |
15600 次 |
| 最近记录: |