我做了一个小批量创建一个包含当前日期(年/月/日)的文件夹。 这是代码:
mkdir %date:~-4,4%_%date:~-7,2%_%date:~0,2%
但是当我在网络文件夹中使用它时它不起作用 例如“\ 192.168.1.100 \ 01-SCHEMA”
我该怎么办?谢谢! :) 丹尼斯
答案 0 :(得分:2)
为网络共享分配一个临时的驱动器号并对其进行处理:
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。
答案 1 :(得分:0)
E:\Test\New folder>mkdir "E:\Test\New Folder\""Creating Test Folder"
在“” 之间不要留任何空格。