2013-04-24 81 views
1

它必须创建完整文件夹路径以及空文件。我的要求是我会得到textfile路径作为参数,如果该文件不存在,需要创建该文件。
我认为先得到路径并检查该文件夹是否存在,如果不是创建文件夹路径,则使用TYPE nul创建空文件。我可以得到一些像在Java中的东西,字符串subStr = str.subString(0,str.lastIndexOf('。')),如何使用Windows批处理脚本。任何建议PLZ,在此先感谢。如何使用Windows批处理脚本创建具有指定路径的空文本文件

回答

1

要分割路径/文件夹和文件名,您可以使用answer provided to this question

要创建一个空文件只是复制“一无所有”到它:

copy nul myEmptyFile.txt 

作为替代,你很可能重定向空输出,但我想这是比以前的想法肯定更资源重:

cmd /c > myEmptyFile.txt 
+0

非常感谢您的答复。它的工作:-) – user2053989 2013-04-24 10:53:33

+0

你可能想要 '''copy/Y nul myEmptyFile.txt''' 如果文件已经存在并且你想覆盖它。 – 2017-05-04 21:39:02

0

可以使这样的函数:

@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) 
+0

它不能与上面的代码一起使用。我是编写脚本文件的新手。我试过了,下面是输出,程序没有退出。如果不存在“C:\ Users \ pooja \ Desktop \ ForTesting \ tmp.txt”(MKDIR“\ Users \ pooja \ Desktop \ ForTesting \”2> NUL && FSutil File CreateNew“\ Users \ pooja \ Desktop \ ForTesting \\ tmp.txt”0 1> NUL)) &(GOTO:EOF),如果我看到打印,它不会显示驱动器为C. – user2053989 2013-04-24 14:21:06

+0

和更多可以一个PLZ建议很好的网站来学习批量脚本 – user2053989 2013-04-24 14:22:30

+0

该功能的作品,不要尝试手动做。在你粘贴的代码中,你并不是先用“(”,用它来扼杀或不会运行,而且你在FSUTIL路径中使用了两个“\\”,所以不能创建文件,这是(如果不存在“%HomeDrive%\ Users \ pooja \ Desktop \ ForTesting \ tmp.txt”(MKDIR“%HomeDrive%\ Users \ pooja \ Desktop \ ForTesting”2> NUL && FSutil File CreateNew “%HomeDrive%\ Users \ pooja \ Desktop \ ForTesting \ tmp.txt”0 1> NUL))&(GOTO:EOF)如果我的答案解决了您的问题,请使用接受按钮接受答案 – ElektroStudios 2013-04-24 14:37:06

相关问题