Articles of batch file

C#运行带有空格参数的batch file

我需要运行batch file,其中有path(可以包含空格)作为参数。 batch file非常简单: 回声 echo%1> echotest.txt 我用来运行这个batch file的Csharp代码: ProcessStartInfo info = new ProcessStartInfo(); info.UserName = KIM_USER; info.Password = ConvertToSecureString(KIM_USER_PASSWORD); info.FileName = theTask.Path; info.Arguments = "\"" + TranslateParameter(theTask.Parameter) + "\""; info.Domain = Environment.MachineName; info.WorkingDirectory = Path.GetDirectoryName(theTask.Path); info.UseShellExecute = false; info.CreateNoWindow = true; Process batProcess = Process.Start(info); batProcess.WaitForExit(); 基本上参数来自例如{Test_Path},这是在TranslateParameter转换为真正的path,例如:D:\ Test Path \(包含空格) 这对我不起作用,它每次都返回我的退出代码1。 如果我从info.Arguments中删除\“,它的工作原理,但在输出文件只是D:\ Test 有什么build议么? […]

调用batch file调用另一个batch file失败

我有一个batch filea.bat ,看起来像这样: call some.bat java -cp "saxon9he.jar" net.sf.saxon.Transform abc.xml des.xsl > des.xml call subfolder\other.bat 而subfolder的other.bat看起来像这样: call yet_another_batch.bat java -cp "../saxon9he.jar" net.sf.saxon.Transform any.xml try.xsl > try.xml java -cp "../saxon9he.jar" net.sf.saxon.Transform ../some.xml test.xsl 因此,在第一个文件( a.bat )中,我调用同一个文件夹中的另一个batch file以及将xml文件写入同一文件夹的同一个文件夹中的一些xsl脚本。 从第一批脚本( a.bat )我想调用subfolder\other.bat 。 但是,当我这样做,它不能调用subfolder的yet_another_batch.bat和subfolder的xsl脚本,它不会findsaxon9he.jar。 什么是正确的方法来做到这一点? 是否必须将文件夹名称添加到subfolder\other.bat引用的所有文件? 似乎有点麻烦。 我在Windows 7上,如果这改变了什么。

如何使用CMD命令查找和删除文件?

我知道文件名,说myfile.pdf 。 但我不知道它的位置,因为我的Web应用程序暂时创build它。 当用户从应用程序断开,然后我想这个文件被删除。 那么如何search和删除文件?

Serverside FTP批处理脚本

我一直使用.bat脚本从FTP服务器只下载PDF文件。 直到现在,它一直在使用mget * pdffunction完美工作。 我最近移动了脚本,并从Windows 2012服务器运行。 而现在,当脚本到达mget函数,它列出的文件,通常会传输除了一个? 在每个实例之后,然后实际上将它们下载到液晶显示器上。 @ftp -v -n -i -s:C:\Users\LMCT\Desktop\Serversidesage\download-1.txt 这是被调用的FTPfunction。 open xx.xxx.xx.xxx user xxxxxxxxxxx =xxxxxxxxxxxx cd orders lcd "C:\Users\LMCT\Desktop\Magento-downloaded-orders" binary prompt mget *pdf mdelete *pdf quit 这是下载脚本。 有谁知道为什么这可能会发生? 提前致谢。 亲切的问候,刘易斯。

如何映射批处理中的networking驱动器

我的用户用来映射networking驱动器。 我开发了一个工具,它使用一个networking驱动器i :. 问题:我可能重叠用户定义的驱动器。 我怎样才能打开一个DOSbatch file,将定义一个新的networking驱动器为自己的使用,但不会更改用户可见的networking驱动器?

这个堆栈溢出答案中2> nul的目的是什么?

这个计算器答案包含以下代码: dir /ad "C:\PLUS\ADMIN\BATCH\*" >nul 2>nul && ( start "" cmd /c "@echo Files in the directory! &@echo(&@pause ) || ( echo there are no files ) >nul是将stdoutredirect到nul 。 这样做的目的是什么?在什么情况下需要它?

如何将多个子文件夹中的特定文件移动到各自的父文件夹? (Windows批处理)

我有以下文件和文件夹结构(使用实名): Carabidae/Pterostichinae/FolderNameXXX/dor/StackXXX/files.tif 我的问题是,我需要从StackXXX文件夹中获取一个特定的文件,PM *。*到各自的/ dor父文件夹中。 StackXXX文件夹可以被删除。 有数百个FolderName。 理想情况下,我想要一个batch file,我可以从Carabidae文件夹运行。 这需要是一个batch file,因为会不断添加新的FolderNames。 经过大量的search之后,我从这个StackOverflow的答案中find了一个半工作的解决scheme: for /f "delims==" %%i in ('dir /a:d /b') do for /f "delims==" %%f in ('dir %%i /a:d /b') do (move "%%i\%%f\PM*.*" "%%i"&&rd "%%i\%%f" /s /q) 它移动文件并删除文件夹,就像我想要的。 但问题是,它只能在从FolderName文件夹运行时起作用,这会影响脚本的节省时间的目的。 我不知道如何修改它以recursion到子文件夹,所以我可以从顶部文件夹运行它。 非常感谢您的帮助!

写第1行到第i行的.txt文件

我非常接近我的答案,但我似乎无法find答案。 我在batch file中使用Findstr函数来将整个目录的范围缩小到只有一个文件。 cd … findstr /s /m "Desktop" *class.asasm >results1.txt findstr /m /f:results1.txt "Production" *class.asasm >results2.txt findstr /n /f:results2.txt "Capabilities" *class.asasm >results3.txt 任务1:我需要找出一种方法来使findtr向后search第三行的行号find第四个string 任务2:我需要写第1行 – 我们到达的文件中的results2.txt插入一个.txt文件。 然后写下其余的原始行。 我正在使用Visual Studios编写一个VB.Net应用程序,我很难搞清楚如何完成这个过程。 我现在有更好的应用程序运行在应用程序中写入batch file。

在Windows上使用echoclosurescmd.exe

我想知道如何启动一个cmd.exe窗口与回声已经closures。 例如,我有以下命令行: start cmd /k test.exe 在新的cmd窗口中启动test.exe 。 但在这个cmd窗口中,回显是打开的。 是否有可能在一个新的cmd窗口启动test.exe回声closures?

批处理脚本(bat或cmd) – &符号之前的空格(或自动转义符号)

注意:我知道^符号可以用来在批处理脚本中转义符号。 但是我需要自动完成转义,因为path是在运行时构build的。 下面的示例脚本仅仅是显示问题,而不是实际的脚本。 脚本输出后请阅读我的解释。 由于某些原因,批处理脚本中的命令对于path中的与号( & )符号performance不佳。 假设你有一个test.cmd或test.bat脚本,如下所示: set TEST=AE echo %TEST% set TEST="AE" echo %TEST% set TEST=AE echo %TEST% set TEST="AE" echo %TEST% set TEST=A & E echo %TEST% set TEST="A & E" echo %TEST% set TEST=A&E echo %TEST% set TEST="A&E" echo %TEST% 这是输出: C:\>set TEST=AE C:\>echo AE AE C:\>set TEST="AE" C:\>echo "AE" "AE" […]