Articles of cmd

如何阻止来自Windows的社交媒体

我想根据时间阻止我的电脑上的社交媒体。 下午9点后阻止,上午11点后解锁(如家长控制)我试过以下,但失败。 创build了一个block.bat文件 @echo off (Get-Content C:\Windows\System32\drivers\etc\hosts) | ForEach-Object { $_ -replace "#127.0.0.1 facebook.com", "127.0.0.1 facebook.com" } | Set-Content C:\Windows\System32\drivers\etc\hosts 创build一个Unblock.bat文件 @echo off (Get-Content C:\Windows\System32\drivers\etc\hosts) | ForEach-Object { $_ -replace "127.0.0.1 facebook.com", "#127.0.0.1 facebook.com" } | Set-Content C:\Windows\System32\drivers\etc\hosts 并将这2个bat文件添加到任务计划程序。 Block将在上午11点运行,并在晚上9点解锁。 我从PowerShell得到这个错误: Set-Content:input对象不能被绑定,因为它不包含 绑定所有必需参数所需的信息:path 在线:1个字符:140 + … e“#127.0.0.1 facebook.com”,“127.0.0.1 facebook.com”} | 设置内容 + ~~~~~~~~~~~ + CategoryInfo:InvalidArgument:(#Copyright(c)… […]

使用FOR或FORFILES批处理命令来单独存档特定文件

我有一组.iso文件在不同的目录和子目录中: <folder1> app1.iso app2.iso app3.iso <subfolder1> app1a.iso app2a.iso <subfolder2> app2b.iso app3b.iso <folder2> app4.iso app5.iso <subfolder5> app20.iso 使用batch file并预先安装了7-zip(使用configuration的PATH环境variables),我希望能够将每个.iso归档到它自己的.7z归档文件中。 我不想将当前文件夹中的所有.iso文件归档到一个归档文件中。 我试图与FORFILES一起创build自己的7-zip命令: FORFILES /P . /M *.iso /S /C "cmd /c 7z a -t7z @path.7z -mx9 -mmt >> C:\test\7z-log.txt" 但是,这是做什么的: app1.iso.7z – contains: app1.iso, app2.iso, app3.iso app2.iso.7z – contains: app1.iso.7z, app1.iso, app2.iso, app3.iso app3.iso.7z – contains: app1.iso.7z, […]

无法正确设置在Windows 7,64位Java的path

我已经在我的电脑中安装了java 1.6,并且还使用高级variables设置来设置path。 在一个命令提示符,当我试图执行Java我得到这个错误: Error: could not open `C:\Program Files\Java\jre7\lib\amd64\jvm.cfg' 但是当我从命令提示符执行这个命令:javac -version它显示我有适当的版本集。 javac 1.6.0_27. 有人请帮我解决这个错误。

批处理命令将文件移动到新目录

我想写一个批处理作业,执行时将抓住C:\Test\Log文件夹中的所有文件,并将它们移动到C:\Test的新目录中。 这个新的目录将有一个名为“备份 – ”和CURRENT DATE。 所以一旦完成,日志文件夹应该是空的,现在位于新文件夹中的所有文件。 我知道我将不得不使用MOVE命令,但不知道如何dynamic创build一个新的文件夹,并使用date来命名它。

如何用cmd.exe中的百分号字符replace?

在Windows命令提示符中,我试图用string%20replaceset string=Hello World中的空格。 天真地尝试使用string文字%20像这样: set string=%string: =%20% 导致HelloWorld20% 。 试图使用转义字符^像这样: set string=%string: =^%20% 也导致HelloWorld20% 。 试图通过加倍来逃避% : set string=%string: =%%20% 导致HelloWorld%20% 。 我也尝试使用另一个variables来做这样的replace: set r=%20 set string=%string: =%r%% 这导致HelloWorldr%% 。 我发现这个 ,它处理variables中字符百分比的转义。 我也发现这个 ,它处理百分号字符的转义input。 但似乎都不适用于stringreplace。 我在网上find的Windows cmd.exe的tutorial / docu页面告诉我我有正确的语法,但不包括用百分号replace字符。 读完所有这些之后,我试着: setlocal EnableDelayedExpansion set string=!string: =%20! 这会导致!string: =%20! 。 我没有想法,你能帮忙吗?

在cmdbatch file中使用非ASCII字符

我正在开发一个.bat程序,程序是用芬兰语写的。 问题在于CMD不知道这些“特殊”的字母,比如Ä,Ö,Å。 有没有办法让这些工作? 如果用户也可以使用这些字母,我也喜欢它。 我的部分代码: @echo off /u title JustATestProgram goto test123 :test123 echo Letters : Ää Öö Åå pause exit 当我打开这个文件时,这些字母看起来像这样:

使用Java代码以pipe理员身份运行cmd

我想执行下面的mysql查询,使用java代码: mysqldump -uroot -ppassword temp1>C:\abc.sql 经过大量的search,我发现这需要CMD作为pipe理员运行我不知道如何使用Java代码作为pipe理员运行。 我尝试过,但它不工作 runtimeProcess = Runtime.getRuntime().exec(new String[] { "runas /profile /user:Administrator \"cmd.exe", executeCmd }); 有没有人有这个想法。 提前致谢。

将命令输出保存到variables

在batch file中,我试图获取命令的输出并将其保存到variables中。 我的命令的目标是计算特定文件夹中的文件夹数量。 我不能使用这个接受的答案中提供的技巧,因为我将不得不做cd path\to\my\folder到达当前目录。 不幸的是,我不能执行这个命令,因为path\to\my\folder实际上是一个UNCpath( \\path\to\my\folder ),而windows cd \\some\UNC\path不支持cd \\some\UNC\path CMD。 我知道这个答案,但我不想使用临时文件。 所以我试图做到以下几点: 要获取文件夹的数量,我使用: dir \\path\to\my\folder | find /c "<REP>" 这工作正常,并返回我一个数字,我所期望的。 要在批量variables中检索这个命令的输出,我尝试过: FOR /F "TOKENS=*" %%i IN ('\\path\to\my\folder | find /c "<REP>"') DO SET value = %%i 但没有成功,错误信息是… | 是意外的。 …当我执行batch file和… %%我是意外的。 当我尝试直接在命令窗口中执行命令。 我试图绕过<REP>string( …find /c ""<REP>""') DO… )的引号,给我同样的错误。 我在正确的path检索variables中的输出? 我应该怎么做才能解决错误信息? 或者也许有一个更简单的方法来设置一个variables的命令输出?

从system32文件夹运行控制台应用程序

我做了一个软件,使我可以通过控制台recursion删除文件夹,我想要做的就是使用CMD.EXE从任何目录到达程序。 当我尝试将软件复制到System32目录,然后从CMD运行时,它给我以下错误: 无法find运行该应用程序的运行时的版本 我试图将其构build为一个64位的程序,但这并没有改变任何东西。 我的代码有什么问题,或者是我构build它的方式? 提前致谢。

FORFILES date -after-(cmd文件中的date计算)

我想在一个cmd文件中使用FORFILES,在给定的date之后通过“today”来处理所有文件。 我可以使用forfiles /d +07/10/2013 /c "cmd /c echo @fname"东西在7/10/13之后执行,但是我想要的只是从90天开始计算在“今天”之前。 是否有一个date计算的语法,将在一个cmd文件,将让我指定“今天之前x天”饲料到FORFILES? 我更喜欢不使用VBS(并且发现了可以在VBS中工作的代码片段),不过我可以重写Powershell脚本,但理想情况下我想使用cmd。 为了澄清,“-90”会find所有超过90天的文件; “+90”会发现所有文件比今天晚了90天(这基本上是无用的,因为文件很less会在未来的date编写),“+7 / 30/2013”​​会查找所有比7/30更新的文件/ 2013。 我想要最后一段时间,最好能够传递给CMD文件的天数variables,也就是说“在今天之前x天之后”,即“在最近x天”。 所以,而不是如上所示使用硬编码的date,我希望能够在cmd文件中计算该date。