Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 批处理以在网络文件夹中创建文件夹_Windows_Batch File - Fatal编程技术网

Windows 批处理以在网络文件夹中创建文件夹

Windows 批处理以在网络文件夹中创建文件夹,windows,batch-file,Windows,Batch File,我做了一个小批量,创建了一个带有当前日期(年/月/日)的文件夹。 代码如下: mkdir %date:~-4,4%_%date:~-7,2%_%date:~0,2% 但当我在网络文件夹中使用它时,它不起作用 例如“\192.168.1.100\01-SCHEMA”中的示例 我能做什么?谢谢!:) Dennis为网络共享分配一个临时驱动器号,然后执行以下操作: NET USE Z: \\192.168.1.100\01-SCHEMA mkdir z:\%date:~-4,4%_%date:~-7

我做了一个小批量,创建了一个带有当前日期(年/月/日)的文件夹。 代码如下:

mkdir %date:~-4,4%_%date:~-7,2%_%date:~0,2%
但当我在网络文件夹中使用它时,它不起作用 例如“\192.168.1.100\01-SCHEMA”中的示例

我能做什么?谢谢!:)
Dennis

为网络共享分配一个临时驱动器号,然后执行以下操作:

NET USE Z: \\192.168.1.100\01-SCHEMA
mkdir z:\%date:~-4,4%_%date:~-7,2%_%date:~0,2%
NET USE Z: /DELETE
或者更简单一点

从现已删除的注释中,另一种可能是在命令中使用整个网络路径:

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。

E:\Test\New folder>mkdir“E:\Test\New folder\”“Creating Test folder”


请不要在“

之间保留任何空格,您可以在代码中要创建的文件夹之前添加UNC完整路径。使用
\\192.168.1.100\…
代替
\192.168.1.100\…
。例如,
md“\\192.168.1.100\…\your folder”
pushd
支持UNC路径,键入
pushd/?
了解其工作原理…非常感谢!!:)有可能有相对路径吗?我把那个文件放在很多文件夹里。。我必须用辅助路径修改它们吗?还是有一种更快更通用的方法?(我在\\192.168.1.100\01-SCHEMA、\\192.168.1.100\02-CALCOLO等等中都有)谢谢:)@DennisGrasso:基本上是的,但问题是您想要处理的“目录”实际上是共享的(
\\[HOST]\[SHARE]\[DIRECTORY]
)。你需要先得到一份清单。如果你真的想在任何地方创建目录,这很容易,否则事情很快就会变得糟糕。@DennisGrasso:添加了一个通用解决方案。您好@zb226,谢谢您的支持!我不太清楚。。这种情况是这样的:我有一个位于//192.168.1.100的服务器,在这个位置我有一个名为PROJECTS的文件夹,里面有一个前缀号为all my PROJECTS的文件夹(例如9226_Hospital、9227_School等等),当我必须创建一个新项目时,我会复制并通过一个通用文件夹XXXX_project,我会重命名它。在那个文件夹里我有我的批。为了在其中创建文件夹,即使我重命名了主文件夹。是否可以不每次更改批处理文件?谢谢!!:)Dennis@DennisGrasso:现在我明白你的要求了。再次更新答案。。。
MKDIR "%~dp0%date:~-4,4%_%date:~-7,2%_%date:~0,2%"