这个问题在这里已经有了答案:Howtogetwindowsbatch'sparentfolder(4个答案)关闭3年前。我最近遇到需要获取当前正在执行的批处理文件的父目录的情况。在google和stackoverflow上搜索了解决方案,但可以找到一个干净简单的解决方案。
在Windows命令行中是否有一种方法可以以标准化的区域设置无关格式(例如,ISO8601)检索文件或目录的日期/时间戳(修改、创建、访问)?我发现dir的输出使用系统相关的日期/时间格式,缺少秒数。参数的~t修饰符(%~t1)和for变量扩展(%~tI).forfiles变量@fdate和@ftime也取决于系统设置(尽管后者至少也返回秒数)。我了解到wmicOSGETLocalDateTime/VALUE是获取当前系统日期/时间的一种方法(输出可能类似于LocalDateTime=20151021020000.000000+120,可以通过for/F获取)。但是是否还有一个命令(行
一段时间以来,我一直在努力与我的同事一起解决这个问题。我使用Ngen来制作原生图像并提高我的应用程序在客户端上的性能。假设Exe文件名为Example.exe我尝试在应用程序中做的是我做ngeninstallexample.exe,ngen将为assebmlies安装native图像然而问题来了:如果我尝试使用提升的CMD并运行C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngenDisplayexample.exe显示example.exe文件名和native图像的版本,但是,使用以下代码在Windows窗体c#中做同样的事情,它不显
我想在Windows上创建一个递归的dir命令,它允许我在每一行都有每个文件的完整路径。这是我想改进每个文件的完整路径而不仅仅是文件名的示例:目录/S|findstr/R"^.*.xlsm$"当前输出:01/01/201200:011023456fileName.xlsm02/01/201501:022345678fileName2.xlsm预期输出:01/01/201200:011023456C:\Path\To\File\fileName.xlsm02/01/201501:022345678C:\Path\To\Other\File\fileName2.xlsm
我正在尝试在CMD中运行一个包含以下内容的批处理文件,wmiccsproductwmiccpugetnamewmicdiskdrivegetmodel,sizeipconfig/all当我将其复制并粘贴到CMD中时,我能够看到命令运行。我成功地能够毫无问题地将所有数据复制并粘贴到文本文档中。问题:当我尝试将这个确切的文件导出/输出到.txt或.rtf时,C:>1.bat>1.txt“ipconfig”正确拉动,但WMIC命令不给我任何问题并正确输出到文件。但是,无论我将此批处理导出/输出为.txt还是.rtf,WMIC命令在输出文件中的每个字符之间留下空格或NUL。我将打开读取的文件C
这里是批处理脚本的新手。我正在trycatchBatch'function'的输出(不完全是因为Batch缺乏对函数的内置支持)变量。这是我的代码:@echooffsetlocalenabledelayedexpansiongotomain::Functions:runpspowershell-NoProfile-ExecutionPolicyBypass-Command"%1"goto:eof:appendToPathsetOLDPATHPS="[Environment]::GetEnvironmentVariable('PATH','User')"for/f%%iin('call:
我正在尝试让一个程序self删除,我正在使用一个单独的批处理文件来完成它。我正在使用这段代码:Process.Start("cmd.exe","/Cchoice/CY/N/DY/T1&Del"+Application.ExecutablePath)Application.Exit()但是不能删除名称中有空格的文件。如何用“”将Application.ExecutablePath括起来,使其最后看起来像“FileName”? 最佳答案 我想通了,我使用了这段代码:DimapplicationPathAsStringDimquoteAs
sample.txt中的示例我将所有文件名都放在某个文件夹中image1.bmpimage2.bmpimage3.bmp现在我想给它附加一个路径并制作另一个.txt结果.txtC:\sample\image1.bmpC:\sample\image2.bmpC:\sample\image3.bmp我该怎么做?谢谢! 最佳答案 (for/f"delims="%%iin(sample.txt)do@echoc:\sample\%%i)>result.txt要在命令行使用,请使用%i而不是%%i
我想在批处理文件控制台上从用户那里获取整数输入并按此输入时间运行。所以如果我在开始时输入10。starttest.exe必须运行10次。我如何在批处理文件中写入这个? 最佳答案 您可以使用FOR/L命令。@ECHOOFFSET/pnum=Howmanytimes:FOR/L%%IIN(1,1,%num%)DOSTART"MyTitle""test.exe" 关于windows-如何按照用户输入指定的次数运行命令?,我们在StackOverflow上找到一个类似的问题:
我正在尝试创建一个非常简单的批处理脚本,其中对于复制到暂存目录的每个文件,脚本都会将其工作目录更改为该暂存目录以执行一些工作:pushdC:\Shared\for/r%%fin(*.dll)do(copy%%fC:\staging\.pushdC:\staging\.echoCWDis%cd%REMdosomeworkherepopd)popd然而,令我惊讶的是,只有第一个pushd完成了。这是DOS/Windows批处理的已知限制吗?如果是这样,是否有快速解决方法? 最佳答案 它有效。用命令cd证明:pushdC:\Shared\