Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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,它必须创建完整的文件夹路径以及空文件。我的要求是我将获取textfilepath作为参数,如果该文件不存在,则需要创建该文件。 我想首先获取路径并检查该文件夹是否存在,如果不创建文件夹路径,则使用nul类型创建空文件 我可以得到一些类似于java中的字符串subStr=str.subString(0,str.lastIndexOf('.'))的东西吗?如何使用windows批处理脚本实现这一点。请提供任何建议,谢谢 要分割路径/文件夹和文件名,可以使用 要创建空文件,只需将“nothing”复制

它必须创建完整的文件夹路径以及空文件。我的要求是我将获取textfilepath作为参数,如果该文件不存在,则需要创建该文件。
我想首先获取路径并检查该文件夹是否存在,如果不创建文件夹路径,则使用nul类型创建空文件


我可以得到一些类似于java中的字符串subStr=str.subString(0,str.lastIndexOf('.'))的东西吗?如何使用windows批处理脚本实现这一点。请提供任何建议,谢谢

要分割路径/文件夹和文件名,可以使用

要创建空文件,只需将“nothing”复制到其中:

作为替代方案,您可能会重定向空输出,但我想这肯定比之前的想法更占用资源:

cmd /c > myEmptyFile.txt

要分割路径/文件夹和文件名,可以使用

要创建空文件,只需将“nothing”复制到其中:

作为替代方案,您可能会重定向空输出,但我想这肯定比之前的想法更占用资源:

cmd /c > myEmptyFile.txt

您可以创建如下函数:

@Echo OFF

Call :CheckTextFile "C:\Test1\Test.txt"
Call :CheckTextFile "C:\Test2\Test.txt"
Call :CheckTextFile "C:\Test3\Test.txt"
Pause&Exit

:CheckTextFile
(If not exist "%~1" (MKDIR "%~p1" 2>NUL && FSutil File CreateNew "%~p1\%~nx1" 0 1>NUL)) & (GOTO:EOF)

您可以创建如下函数:

@Echo OFF

Call :CheckTextFile "C:\Test1\Test.txt"
Call :CheckTextFile "C:\Test2\Test.txt"
Call :CheckTextFile "C:\Test3\Test.txt"
Pause&Exit

:CheckTextFile
(If not exist "%~1" (MKDIR "%~p1" 2>NUL && FSutil File CreateNew "%~p1\%~nx1" 0 1>NUL)) & (GOTO:EOF)

它不适用于上述代码。我不熟悉编写脚本文件。我试过了,下面是输出,程序没有退出。如果不存在“C:\Users\pooja\Desktop\ForTesting\tmp.txt”(MKDIR“\Users\pooja\Desktop\ForTesting\”2>NUL&&FSutil File CreateNew”\Users\pooja\Desktop\ForTesting\\tmp.txt“01>NUL”)&(GOTO:EOF),如果我看到打印,它没有将驱动器显示为C。一个plz可以建议更好的站点学习批处理脚本功能正常,不要尝试手动操作。在您粘贴的代码中,您没有以“(”开头,使用它来升级或不运行,并且您在FSUTIL路径中使用了两个“\\”,因此无法创建文件,这是粘贴代码中的更正代码:(如果不存在“%HomeDrive%\Users\pooja\Desktop\ForTesting\tmp.txt”(MKDIR“%HomeDrive%\Users\pooja\Desktop\ForTesting”2>NUL&&FSutil文件CreateNew”%HomeDrive%\Users\pooja\Desktop\ForTesting\tmp.txt“0 1>NUL”)&(GOTO:EOF)如果我的答案解决了您的问题,请使用“接受”按钮接受answer@echo待命:CheckTextFile“C:\Users\pooja\Desktop\ForTesting\tmp.txt”暂停和退出:CheckTextFile(如果不存在“%~1”(MKDIR“%~dp1)2>NUL&&FSutil文件CreateNew“%~dp1%~nx1”0 1>NUL)和(GOTO:EOF))退出。我将%%p1修改为%%dp1,然后它也给出了驱动路径。但仍然不是创建文件。我只尝试了到MKDIR%~dp1,然后它创建了文件夹。但是上面的代码并没有创建。也许你可以纠正我,我哪里出了问题。上面的代码不起作用。我不熟悉编写脚本文件。我试过了,下面是输出,程序没有退出。如果不存在“C:\Users\pooja\Desktop\ForTesting\tmp.txt”(MKDIR“\Users\pooja\Desktop\ForTesting\”2>NUL&&FSutil File CreateNew”\Users\pooja\Desktop\ForTesting\\tmp.txt“01>NUL”)&(GOTO:EOF),如果我看到打印,它没有将驱动器显示为C。一个plz可以建议更好的站点学习批处理脚本功能正常,不要尝试手动操作。在您粘贴的代码中,您没有以“(”开头,使用它来升级或不运行,并且您在FSUTIL路径中使用了两个“\\”,因此无法创建文件,这是粘贴代码中的更正代码:(如果不存在“%HomeDrive%\Users\pooja\Desktop\ForTesting\tmp.txt”(MKDIR“%HomeDrive%\Users\pooja\Desktop\ForTesting”2>NUL&&FSutil文件CreateNew”%HomeDrive%\Users\pooja\Desktop\ForTesting\tmp.txt“0 1>NUL”)&(GOTO:EOF)如果我的答案解决了您的问题,请使用“接受”按钮接受answer@echo待命:CheckTextFile“C:\Users\pooja\Desktop\ForTesting\tmp.txt”暂停和退出:CheckTextFile(如果不存在“%~1”(MKDIR“%~dp1)2>NUL&&FSutil文件CreateNew“%~dp1%~nx1”0 1>NUL)和(GOTO:EOF))退出。我将%%p1修改为%%dp1,然后它也给出了驱动路径。但仍然不是创建文件。我只尝试了到MKDIR%~dp1,然后它创建了文件夹。但是上面的代码并没有创建。也许你可以纠正我的错误。如果文件已经存在并且你想覆盖它,你可能需要
复制/Y num myEmptyFile.txt
。如果文件已经存在并且你想覆盖它,你可能需要
复制/Y num myEmptyFile.txt