Articles of batch file

Windows脚本删除并将文件复制到多个目录

场景: 大约有150个目录都有非常相似的path名,但是每个条目之间的path中的一个文件夹是不同的。 下面的例子 d:\TSProfiles\coetzeed.TEST.V2\Desktop\ d:\TSProfiles\ronaldb.TEST.V2\Desktop\ d:\TSProfiles\mcondaldc.TEST.V2\Desktop\ 我想在所有这些目录上执行以下操作,但是不知何故在每个条目中考虑了这些不同的文件夹名称,而无需将所有这些目录添加到脚本中。 del d:\TSProfiles\coetzeed.TEST.V2\Desktop\accounts.exe (deletes the old accounts.exe) Copy d:\newdesktop\accounts.exe d:\TSProfiles\coetzeed.TEST.V2\Desktop\ (copies the new accounts.exe to the destination folder )

批处理命令仅从string获取文件path

我已经search了几个这样的例子,但我似乎没有得到任何工作…我正在写一个简单的Windows批处理脚本解压缩文件。 在我的批处理脚本中,我有一个variableszipfile,它被dynamic地指定为文件夹和子文件夹中最近的Zip文件: for /f "tokens=*" %%a in ('dir d:\temp\*.zip /s /b /od') do set zipfile=%%a 为了简化,考虑到价值: set zipfile=d:\temp\mysubfolder\myfile.zip 我怎样才能得到完整的path,“d:\ temp \ mysubfolder \”? 谢谢!

Windows批量比较md5sum与md5文件内容

我有一个名为1.zip,2.zip等几个zip文件的文件夹。 该文件夹也有每个zip文件的md5文件,如1.zip.md5 … n.zip.md5 md5文件的md5sum大写,最后一行换行 我想写一个批处理程序,将读取所有的zip文件,计算它们的md5sum并将其与关联的md5文件中的一个进行比较。 我已经得到了这个。 @echo off set mypath=G:\Temp\ for %%f in (*.zip) do ( echo PROCESSING: %mypath%%%f md5sum < %mypath%%%f > %mypath%%%f.tmp set /p sum=<%mypath%%%f.tmp echo SUM: %sum% :rm %mypath%%%f.tmp pause ) pause 我的问题是set /p sum=<%mypath%%%f.tmp由于某种原因似乎没有得到内容。 最重要的是,md5sum输出小写md5sum,然后是*- 。 我是一批新人,已经花了太多时间来解决这个问题。 有人能给我一些关于我在做什么错误的提示,以及当我再次被卡住时我怎么能够做一些debugging? 当我解决了这个问题之后,我需要将tpm文件的内容分开,将md5sum和大写分开。 希望他们比较容易就会更容易。 谢谢。

模拟鼠标点击窗口启动使用脚本

我正在寻找find一种方法来编写一个.bat模拟鼠标右键单击桌面上,login后。 操作系统是Windows 8.1

在Windows命令脚本中为/ f“系统找不到文件”

我有一些困难与“for / f”无法find具有特定名称的文件。 当该文件或path包含空格时,该站点上的许多用户都遇到了这个问题,但这里并不是这种情况。 简单的例子,名为“test4.cmd”的batch file: @echo off set ln=%1 if exist 2013_10_23_Cal_Curve.txt echo The first file exists. if exist ~temp1.txt echo The second file exists. for /f "skip=%ln% tokens=2" %%a in (2013_10_23_Cal_Curve.txt) do echo Found the first file. for /f "skip=%ln% tokens=2" %%a in (~temp1.txt) do echo Found the second file. 输出: C:\ Users […]

Windows CMD删除目录

我在D:\用户configuration文件\,我需要删除位于 D:\User Profiles\—USERNAME—\UPM_Profile\AppData\Local\Mozilla\Firefox\Profiles\*.default 现在是这个问题。 我怎样才能做到这一点? 如果我input dir /ad /b /s D:\User Profiles\*\UPM_Profile\AppData\Local\Mozilla\Firefox\Profiles\*.default 它失败。 — USERNAME —和* .default需要是dynamic的。 任何想法?

获取文件名和修剪字符

我正在使用batch file来监视文件夹,并查看是否有任何文件。 我对批处理编程知之甚less,并且inheritance了这个文件,但是有没有人能让我知道是否有一种方法可以读取文件名,并从中修改一定数量的字符? 文件名总是如下所示:12345_20131031.txt _的右侧将会有8个字符,而“.txt”将会加上4个字符 我基本上只是想抓住文件名,并修剪所有的“_”和扩展的权利,所以我只剩下:12345 下面是我有循环通过文件的代码。 我一直跟随已经存在的东西,但我似乎得到的是文件的完整path/目录/文件名,我似乎无法得到正确的设置,只是给我的文件名,并修剪它。 任何帮助,将不胜感激: @ECHO OFF set cnt= for %%a in (c:\Encoded_HL7_Vanderbilt\*.*) do set cnt=%%a if !%cnt%!==!! exit set "folder=%~1" :: If more than 0 files exist begin, otherwise exit FOR %%a IN (c:\Encoded_HL7_Vanderbilt_rob\*.*) DO ( :: need to get filename and trim everything to the right of "_" here […]

如何使用batch file创build系统还原点?

嗨,我正在尝试做一个batch file,可以创build一个系统还原点。 我已经看过谷歌,我可以find所有的VBS脚本,我需要它是一个batch file,任何人都可以帮助。

为什么没有variables的副本复制到一个文本文件?

我正在尝试使用variables创build一个带有dir命令的结果的txt。 当我执行命令dir /b "Pr?ctica %var%" ,它已经将var设置为一个值,然后按照预期的那样工作(以cmd为单位)。 但是我想在批处理中做同样的事情,就像这样: dir /b "Pr?ctica %2" >> temp.txt但是文件是空的,不应该的!

gVim在使用–remote-silent时会给出权限

我正在编辑Windows 7中的gVim中的Unity 3D .cs文件,我想双击Unity中的文件以在现有的vim窗口中打开文件,而是打开一个新文件。 为了解决这个问题,我使用了各种其他的答案来创buildbatch file,并使用–remote-silent调用vim。 这一切工作,除了VIM行为就像它不会允许远程命令运行。 batch file: @ECHO OFF :Loop IF "%1"=="" GOTO Continue start "" "C:\Program Files (x86)\Vim\vim73\gvim.exe" –remote-silent ":sp %1<CR>" SHIFT GOTO Loop :Continue 它给了我 ":sp C:\my\path\file.cs" [Permission Denied] Press enter or type command to continue 我试图删除“%1”来检查是否是授予权限错误的文件,但没有运气。 batch file通过以pipe理员身份运行的快捷方式运行(Windows中没有任何简单的事情) Unity – >快捷方式 – >batch file – > gVim – >“:sp filename” […]