草庐IT

windows - 获取未知文件名以批量压缩文件

我正在寻找一种方法来压缩文件名未知的文件。我正在努力研究如何将文件名放入我的变量中。这是我的代码:setHOST=%1setDRIVELTR=%2setOMGEVING=%3FOR%%iIN(\\%HOST%\%DRIVELTR%$\%OMGEVING%\*.*)DOsetfilename="%%~i""C:\programfiles\7-zip\7z.exe"a-r-sdel\\%HOST%\%DRIVELTR%$\%OMGEVING%\filename.zip\\%HOST%\%DRIVELTR%$\%OMGEVING%\filename.txt 最佳答

windows - 在批处理文件中使用目录名更改文件名

我试图根据目录名递归更改一些文件名,但我失败了。这是我到目前为止所做的:for/r%1%%Zin(*.c)do(echo====remChangetothedirectoryof.cfileechocd/d"%%~dpZ"cd/d"%%~dpZ"remChangethefile'snamewithitsdirectorynamewith.cextensionren%%~nxZ%cd%.c)目录结构如下:SubDirrenamer.batsub1file1.csub2file2.csoonsoforth所有其他帖子都说使用%cd%会返回当前目录的名称,但它会返回类似这样的内容:c:\us

windows - 为什么在运行应该查找 *.exe 文件并输出其名称的 FOR 循环时始终显示相同的文件名?

我希望我的批处理脚本只显示*.exe文件的特定目录中的文件名,而没有任何路径或扩展名。到目前为止我的代码是这样的:for/R"%cd%"%%ein(*.exe)do(set"EXENAME=%%~ne"echo"%EXENAME%")但是这段代码没有按预期工作。假设我在该目录中有两个文件:tomcat7.exe和tomcat7w.exe。但是在处理脚本时,我得到的答案是:"tomcat7w""tomcat7w"这是为什么? 最佳答案 与Noodles一样多的批处理文件编码新手,您遇到了延迟扩展陷阱暗示。使用echo%%~ne而不是e

windows - 使用 PowerShell 重命名或删除文件名中的字符

我正在尝试重命名或删除文件名的一部分。我有一个计划的工作,将更新的文件从一台服务器移动到另一台服务器。移动文件后,需要对其进行重命名。例如:Filename_01-23-AB.exe到Filename.exe我想删除从“_”到“.”的所有内容。并保持分机不变。我发现下面的代码应该可以做到这一点,但我似乎无法让它工作。我在这里走的路正确吗?##Removesthebuildnumberfromthefilenameof"Filename_XX-XX-XX.exe"leavingthenewfilenametobe"Filename.exe"##$File=-Path"C:\Temp\Te

windows - 在 Windows 中为文件名添加数字后缀

我想将大量文件重命名为S001、S002等。我从here得到这段代码添加前缀:for%ain(*.*)doren"%a""prefix-%a"所以我尝试修改它,使变量随着for递增,如下所示:for/l%xin(1,1,5)do%ain(*.*)doren"%a""SQ00%x"显然这是错误的,我后来读到/l可以用数值而不是文件名来工作,所以%a没有任何意义(如果我我错了)。所以我想知道如何使用文件夹内文件的文件名在for循环中增加一个值。编辑我现在设法编写了一个重命名文件的批处理,并且:在特定目录下做具有特定的文件扩展名告诉您该目录中有多少该扩展名的文件请求一个新名称,稍后会添加数字

windows - 从数组元素中批量提取文件名

我有一个这样的环境变量setBINARY[0]=C:\binary.bin我正试图从中提取完整的文件名set"x=0":binloopifdefinedBINARY[%x%](callecho%%BINARY[%x%]%%FOR%%iIN("%%BINARY[%x%]%%")DO(setFNAME=%%~nxi)set/a"x+=1"GOTObinloop)rem...但出于某种原因,它试图做到:setFNAME=%BINARY[0]%而不是setFNAME=binary.bin代码有什么问题,为什么? 最佳答案 打开命令提示窗口,

windows - 如何批量增加文件名? (第2部分)

我已经尝试过Mofi在我关于这个主题的最后一个问题中给出的答案。但是我更改了基本名称,但现在似乎不起作用。如果想看上一个问题:HowdoIincrementafilenameinbatch?这个新代码有什么问题?它不会生成新文件,它只会覆盖之前生成的文件。:MainProcessNewcd/D"%USERPROFILE%\Desktop"for/F%%Gin(*.json)do(set"FileName=%%G"set"BaseName=Device"set"FileNumber=0"):FileNameLoopset/AFileNumber+=1ifexist"%BaseName%%

windows - 批量删除文件名中特定字符前后的文本

我有这种文件命名系统CR-计划-Grundriss_RO_STA_MA_C7_TS_0001_01_F-PlanNord.pdf我想要一个.bat文件,删除前后的部分并将文件名更改为Grundriss_RO_STA_MA_C7_TS_0001_01_F.pdf前后的部分并不总是相同的长度!如果您能提供帮助,我将不胜感激!非常感谢。 最佳答案 此代码可用于复制到批处理文件中,该批处理文件保存在包含要重命名的文件的目录中。@echoofffor/F"eol=|delims="%%Iin('dir/A-D/B*-*-*2^>nul')do

windows - 在文件名中使用通配符的 Invoke-WebRequest -OutFile <filename>

如何在Invoke-WebRequest的-OutFile参数中引用通配符?$filename="Image[1].jpg"$uri=[System.Uri]"http:/url/to/image.jpg"Invoke-WebRequest-Uri$uri-OutFile$filename这段代码给了我一个异常(exception):CannotperformoperationbecausethewildcardpathImage[1].jpgdidnotresolvetoafile.Technet说Twothingstonotehere.First,weenclosedthepath

windows - 如何使用用户输入的文件名和文件号创建 1 到 N 个文件?

明天我有一个非常重要的家庭作业。我必须创建一个批处理文件。批号必须要求用户输入姓名和编号。该数字必须大于0且小于100。假设用户输入hello和2。然后批处理文件应在当前目录中创建两个文件hello_1.txt和hello_2.txt。问题是我不知道该怎么做,但它真的很重要。我上周一直在医院。所以我不能去上学,错过了那些类(class)。cmd窗口应该类似于:hello2Creationof2files:hello_1.txthello_2.txt这是我已经拥有的:@echooffset/ptext=Enteranameset/pnumber=Enteranumberset/aN=%n