我有一个包含超过100,000个文件的文件夹,所有文件都使用相同的存根编号,但没有前导零,并且数字并不总是连续的(通常它们是,但是有间隙)例如:
file-21.png,
file-22.png,
file-640.png,
file-641.png,
file-642.png,
file-645.png,
file-2130.png,
file-2131.png,
file-3012.png,
Run Code Online (Sandbox Code Playgroud)
等等
我想批量处理它来创建填充的,连续的文件.例如:
file-000000.png,
file-000001.png,
file-000002.png,
file-000003.png,
Run Code Online (Sandbox Code Playgroud)
当我用for filename in os.listdir('.'):文件解析文件夹时,我不想按顺序出现.可以理解他们出现了
file-1,
file-1x,
file-1xx,
file-1xxx,
Run Code Online (Sandbox Code Playgroud)
等等
file-2,
file-2x,
file-2xx,
Run Code Online (Sandbox Code Playgroud)
我怎么能按数值的顺序让它通过?我是一个完整的python noob,但是看着文档,我猜我可以使用map创建一个新的列表,只过滤掉数字部分,然后对该列表进行排序,然后迭代它?有超过100K的文件,这可能很重.欢迎任何提示!
我在cron作业中使用wget每分钟将一个.jpg文件提取到一个Web服务器文件夹中(每次使用相同的文件名,覆盖).该文件夹是"实时"的,因为Web服务器也从那里提供该图像.但是,如果在获取图像的过程中有人浏览该页面,则会将其视为带有错误的jpg,并在浏览器中这样说.所以我需要做的是,类似于Firefox下载文件时,wget应该写入临时文件,在/ var或目标文件夹中但是使用临时名称,直到它具有整个内容,然后重命名为原子(或至少可忽略的持续时间)步骤.
我已经阅读了wget手册页,但似乎没有一个命令行选项.我错过了吗?或者我需要在我的cron作业中执行两个命令,一个wget和一个移动?
我有一个目录,其中包含一堆名称如下的文件:
001234.jpg
001235.jpg
004729342.jpg
Run Code Online (Sandbox Code Playgroud)
我想从所有文件名中删除前导零,所以我将留下:
1234.jpg
1235.jpg
4729342.jpg
Run Code Online (Sandbox Code Playgroud)
我一直在尝试不同的sed配置,但我找不到合适的语法.有没有一种简单的方法可以列出目录中的所有文件,通过sed管道,然后将它们移动或复制到新文件名而不带前导零?
我想用bash重命名一堆文件,转换这个文件模式:
prefix - name - suffix.txt
Run Code Online (Sandbox Code Playgroud)
进入这一个:
name.txt
Run Code Online (Sandbox Code Playgroud)
为此我写了以下脚本:
find . -name "*.txt" | while read f
do
mv "${f}" "${f/prefix - /}"
done
find . -name "*.txt" | while read f
do
mv "${f}" "${f/ - suffix/}"
done
Run Code Online (Sandbox Code Playgroud)
它有效,但我想使用单个循环执行重命名.可能吗?
我正在尝试rename()使用PHP的900 KiB PDF文件.由于某种原因,重命名它需要很长时间.我认为应该是即时的.
这是在CentOS服务器上.在重命名文件时,我可以获取属性,似乎rename()是复制并用新重命名的文件替换旧文件.
旧名称和新名称路径位于同一目录中.
以前有人偶然发现了这个问题吗?
//If exists change name and then return path
$pieces = explode("@", $filename);
$newName = $pieces[0].' '.$pieces[2];
rename($uidPath.$filename, $uidPath.$newName);
if (preg_match('/pdf/', $pieces[2]))
{
$result['status'] = '1';
$result['path'] = 'path to file';
}
else
{
$result['status'] = '1';
$result['path'] = 'path to file';
}
Run Code Online (Sandbox Code Playgroud) 我有一个名为 的文件,Default2.aspx我正在尝试重命名为Default.aspx,但是当我尝试这样做时,视觉工作室只是将其重命名回Default2.aspxname. 甚至不要给出任何错误消息。我不知道如何解决这个问题。还有其他文件被调用了Default.aspx。我已经尝试过重新启动 VS 甚至电脑。没有运气。
我认为这是因为 VS 仍然相信还有更老的Default.aspx文件..即使是这样,我仍然不知道到底在哪里查看这个文件。另外,VS不能给出错误信息吗?这不是 VS 的 bug 吗?
我正在使用 VS 08 和 ASP.NET 应用程序编辑 C# 代码
我有文件上传器,通过它我浏览文件并在字符串变量中输出浏览文件的名称.现在我想用另一个存储在另一个字符串变量中的名称重命名这个uplaod文件名
string strRoleValue = ddlrole.SelectedValue;
string strfilename = FileUpload1.FileName;
string existpath = Server.MapPath("~\\JD\\");
DirectoryInfo ObjSearchFile = new DirectoryInfo(existpath);
string saveLocation = existpath + strfilename;
FileUpload1.SaveAs(saveLocation);
Run Code Online (Sandbox Code Playgroud)
strRoleValue此变量包含我想用来重命名通过fileupload上传的文件的名称.通过存储在的fileupload控件上传的文件名strfilename.所以在将此文件保存到指定文件夹之前,我想用strRoleValue值重命名它.我怎样才能实现这个... plz的帮助
我有python脚本,将文件夹中的现有文件名与参考表进行比较,然后确定是否需要重命名.
因为它遍历每个文件名:
'oldname' = the current file name
'newname' = what it needs to be renamed to
Run Code Online (Sandbox Code Playgroud)
我想重命名该文件并将其移动到一个新文件夹"..\renamedfiles"
我可以在迭代循环的同时进行重命名和移动吗?
更新:道歉,我对scrpting一般都很绿,但这看起来非常基本.shutil.move正是我需要的感谢 - 我只是不知道要找它.下面的成功测试.现在将其用于脚本.
import shutil
os.chdir('C:\Users\me\Desktop\New folder')
renFolder= 'Renamed'
oldname = 'Test.txt'
newname= 'renTest.txt'
shutil.move(oldname, renFolder+'/'+newname)
Run Code Online (Sandbox Code Playgroud) 我想将两个文件从一个存储库移动到另一个存储库.这些文件最初添加为:
/src/init/Price.cs/tests/init/PriceTests.cs这两个文件后来被重命名为:
/src/init/PriceValue.cs/tests/init/PriceValueTests.cs然后转到:
/src/moved/PriceValue.cs/tests/moved/PriceValueTests.cs我试图通过这种描述为这些文件创建一组补丁,但我不确定如何传递文件存在的六种不同路径.
我设法找到影响PriceValue.cs(跨重命名和移动)的所有提交ID ,但将这些ID传递给Git失败,并显示以下错误消息:
$ git format-patch -o /tmp/pricevaluepatches $(git log --all dfeeb 6966b 9f882 …)
-bash: /usr/local/bin/git: Argument list too long
Run Code Online (Sandbox Code Playgroud)
那么,我如何为此创建一组补丁,它只包含对所提到文件的更改,但是在一个重命名和每个文件的一次移动中包含它?
在 VS MSBuild 中,我们将一组文件从一个文件夹移动到另一个文件夹:
<ItemGroup>
<RenameFile Include="Main\App.*" />
</ItemGroup>
<Move SourceFiles="@(RenameFile)" DestinationFiles="%(RootDir)%(RenameFile.Directory)NewApp%(RenameFile.Extension)" />
Run Code Online (Sandbox Code Playgroud)
它工作正常,但一个文件:App.exe.config,因为它具有双扩展名,并将其更名为NewApp.config代替NewApp.exe.config(应该如何)。
如何解决?