假设fciv.exe文件已经放置在系统目录C:\WINDOWS\system32中,那么当从命令提示符中召回它时,以及在批处理脚本文件中使用它时,它都能正确工作。例如:
@echo off
fciv -md5 C:\DOCUME~1\myUsername
pause
上述陈述很好用。但是,如果我在fciv循环中使用for,如下面的示例所示:
@echo off
for /f "tokens=1 delims=/ " %%g in ('fciv -md5 C:\DOCUME~1\myUsername') do (echo %%g)
命令未被识别,错误从命令提示符返
我有一个程序,它生成的整数扩展名为未知数量的文件如下。
我想把.eps附加到每一个后面。如何在DOS批处理文件中做到这一点?
我不能使用下面的代码,因为我不知道搜索表达式。
for %%x in (Main.<what>) do rename "%%x" "%%x.eps"
注意:任何具有非整数扩展名的同名文件都必须保持原样。
我有一个批处理脚本,如下所示。
D:
del "D:\TEST\TEST1\Archive\*.TSV"
del "D:\TEST\TEST1\Archive\*.TXT"
del "D:\TEST\TEST2\Archive\*.TSV"
del "D:\TEST\TEST2\Archive\*.TXT"
del "D:\TEST\TEST 100%\Archive\*.TSV"
del "D:\TEST\TEST 100%\Archive\*.TXT"
上面的代码从除TEST 100%文件
我正在尝试创建一个代码块,它允许用户接收未知工作簿的名称,并引用其中的数据。按索引号引用似乎不是一个可行的选择,因为用户通常会同时发布其他工作簿。未知工作簿已打开,但我需要检索其名称。我使用FileDialog来允许用户选择所需的工作簿,将文件路径另存为字符串,然后使用它来引用工作簿。 当我尝试引用工作簿时,我得到一个“子脚本超出范围”错误。直接输入工作簿的名称而不是变量可以很好地工作,但尝试使用变量不起作用。我尝试使用引号、不使用引号和双引号,但错误仍然存在。 这是我的代码。我到底做错了什么? Sub ObtainExternalWorkbook()
'Declare varia
这是我的两个脚本的输出。第一个调用另一个文件并将文件名传递为%1
D:\VIDEOS\SHORTS>for %v in (*) do call namer "%v"
D:\VIDEOS\SHORTS>call namer "10 Products You’ll Never Buy Again Knowing How They Are Made!.mp4"
D:\VIDEOS\SHORTS>echo "10 Products You’ll Never Buy Again Knowing How They Are Made.mp4
我正在尝试迭代文件夹中的文件,并在do循环中使用另一个批处理文件处理它们。它与echo一起工作,但是一旦我使用变量作为程序的输入,它就会回显()部分和里面的所有内容。
这就是我想要做的。
@echo off
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
for /r %%f in (/folder/*) do (
set name="%%~nf"
echo !name! <--- ok
process.bat !name! <--- echoes () and commands inside this
我在VS2010中将批处理文件作为外部工具运行(通过在Tools->External中添加它)(我检查了“”选项)。此批处理文件以VS命令提示符的形式执行编译。我正在处理的项目为各种文件夹制作了文件,所以我使用mk命令来构建。在批处理文件中,我设置了VS环境,然后运行以下命令:
cd $directoryWhichContainsFileToBuild
mk
cd main //This directory contains the executable that is to be built
mk
我在输出窗口中看到了第一个mk的输出,但之后它就挂起了。我还试着在第一个mk之后使用
我在一个文件夹中有多个文本文件。我想打印与文件名模式*.Config匹配的文件夹中每个文件的最后一行,并将这些行重定向到一个新的文本文件中。
下面的脚本适用于一个文本文件。但目前,我对多个文本文件执行 for 循环,%lastline%打印的值总是相同的。
@echo off & setlocal EnableDelayedExpansion
for /f %%i in ('dir /b *.Config') do (
for /r "delims==" %%a in (%%i) do (
set lastline=%%a
我有一大组文本文件,它们的基本模式是
Files 1 Header
1. Data
2. Data
3. Data
我希望运行一批,它将读取它,并删除第一行和三个字符的其余行和输出如下。
Data
Data
Data
尝试构建一个循环来抓取每一行,然后将其输入%line:~3%,但它并不例外,我不知道如何删除文本文件的第一行。
任何帮助都将不胜感激。
我希望我能够创建我的自定义Windows命令,例如log,它将执行一个.js文件,例如,每当调用我的项目文件夹时都会出现app.js。
我还希望将参数传递给可以作为app.js文件中的变量访问的命令。
换言之:
当我在Windows命令提示符窗口中输入log "Hello World"时,将执行app.js文件,并将一个名为"Hello World"的参数传递给它。
我的app.js文件如下所示:
// This is app.js file
// This file should be run when I type “log "Hello Worl
我在变量中包含了一个字符串,例如:
"C:\Users\SomeUser\Desktop\SomeFolder\File.jar"
我想将这个字符串中的File.jar解析为另一个变量。目前,我已经在使用代码时使用了以下内容:
FOR /f "tokens=1-6 Delims=\" %%A IN (%string%) DO (set myvariable=%%F)
只要文件夹路径保持相同的长度,就可以工作。然而,我想要能够移动程序和文件,并使所有的工作正常。作为一个想法,有什么方法可以从右到左来解析?如有任何建议,将不胜感激。
与其特定的图标相关联的每个文件类型。
现在,如果我选择somefilename.xxx,那么我如何能够选择与*.xxx相关的图标,而不是未知文件的默认图标。
原始问题
如何获得.txt、.doc或.png文件图标?例如,现在我选择了filename.pdf,如何获得filename.pdf图标?例如
File f = new File("filename.pdf");
我的文件名是filename.pdf。如何获得此文件图标(Adobereader图标)。
我有一个叫做“项目”的文件夹。在该文件夹中,我有多个音乐项目文件夹,它们有不同的名称,在每个文件夹中,我都有一个FL Studio项目文件(.flp),以及项目的数据,比如Wave和MP3文件。但是所有的FLP文件都有默认名称("untitled.flp")。是否有办法将文件名更改为它们所在目录的名称?
我想我可以创建一个批处理或VBS文件,但我不知道该如何编写它。
伪批处理代码:
:loop
for each "untitled.flp" in "D:\Google Drive\Projects" goto change
exit
:chang
我使用的批处理文件代码:
for /r %%f in (*) do (
echo %%~nf >>testy.txt
)
for /f "tokens=*" %%a in (testy.txt) do (
set _temp=%%a
for /f "tokens=30*" %%g in (_temp) do (
echo large=%%g>>length.txt
)
)
它应该创建在第30位及以上的字符的length.txt,但是它在第三个for循环中失败了,这个循环应该创建length.
我一直在我的mac上做CSVKIT,但是我把我的工作流程转移到一个PC平台上,这样其他人就可以访问我的工作流程了。我一直使用的项目之一是转换固定宽度文件格式的in2csv。在mac上,我为批处理设置了它:
for x in $(ls desktop/fixedwidth/*.txt); do x1=${x%%.*}; in2csv -f fixed -s desktop/ff/schema.csv $x > $x1.csv; echo "$x1.csv done."; done
我尝试过将其转换为PC命令行选项,可以从批处理文件中运行,但我没有任何运气。
for /r %
我正在尝试将一些EXIF数据添加到文件夹中的文件名中。到目前为止,我已经能够让较小的部分工作,但我无法将名称和扩展名分开,这样就可以通过FOR循环将其与EXIF值结合起来。
我看到我需要使用!来描述循环中的变量,但是我无法让它与文件名一起工作。
SETLOCAL ENABLEDELAYEDEXPANSION
for /f "tokens=* delims=" %%a in ('dir /b *') do (
set file=%%~a
set _fname=%~n1
set _ext=%~x1
for /f %%i in (
我在正确设置Java环境变量时遇到了问题。
我有一台Windows7-64位PC,当我rUn我的Java时,我得到以下系统信息:
Operating System = Windows 7 version 6.1 running on x86
Java; VM; Vendor = 1.7.0_45; Java HotSpot(TM) Server VM 24.45-b08; Oracle Corporation
Runtime = Java(TM) SE Runtime Environment 1.7.0_45-b18
我有一个批处理文件,每天需要对特定的文件执行操作。到目前为止,文件名都遵循EX_2017-08-30.DAT模式,这意味着我可以使用以下命令来获取当天的确切文件名:
set today=%date:~-4,4%-%date:~-10,2%-%date:~-7,2%
set filename=EZ_%today%.DAT
现在,我被告知文件名将更改为包含时间戳,例如EX_2017-08-30-231859.DAT。但是,确切的时间不会预先知道(它是在某个进程完成时设置的)。
我不能在批处理文件中使用通配符,因为文件名正被写入外部文件,以便另一个应用程序使用,因此我必须知道确切的文件名。是否可以使