我正在用C#编写一个应用程序,它需要知道用户关注的当前程序和文件。即我想编写如下函数:stringGetProgramNameCurrentlyInFocus(){...}stringGetFilenameCurrentlyInFocus(){...}它返回当前程序的可执行文件名(例如“word.exe”)或实际的官方程序名(例如“MicrosoftWord2007”),以及用户正在使用当前程序查看的当前文件(例如"C:\Users\Mat\Documents\essay.doc"),分别。RescueTime和SysInternals等产品可以做这些事情,所以这是可能的。我可以聚焦当
我正在维护将文件传输到另一个系统并使用结构化文件名来包含元数据(包括语言代码)的应用程序。当前应用程序使用两个字符的语言代码和破折号/连字符作为分隔符。例。加拿大-EN-ProdName-ProdCode.txt我正在将其转换为使用IETF语言代码,因此破折号定界符不起作用,需要更换。我正在尝试确定一个定界符以避免将来出现错误,并且正在考虑波浪号~。例。加拿大~en-GB~ProdName~ProdCode.txt这将仅在WindowsSever2003+系统上使用。我当然没有想出这个解析文件名来获取元数据的系统。不幸的是,我不能将它包含在文件本身中,并且目标系统期望语言代码是带有破折
我在执行简单的dos命令时遇到问题:FOR%%fIN(.\07_PROCEDURES\DataSources\*.sql)DOecho"%%f"它对每个扩展名为sql的文件执行一些操作。一切正常,除了长名字。当目录包含具有sql_扩展名的文件时,它们也会被拾取。但此行为取决于8.3文件是否为turnedonoroff在文件系统上。如果它们被打开(大多数计算机上的默认选择)sql_被传递,因为扩展名被裁剪了。如何强制for获取长文件名?谢谢!附言不提供powershell升级。 最佳答案 您可以尝试检查循环本身的扩展for%%fin(
我想知道是否有一种生成可移植的文件系统安全文件名的通用方法。也就是说,我有一个用户输入的字符串,并希望生成一个名称与他们选择的名称非常相似的文件。生成的名称不得包含任何路径引用或其他特殊的文件系统特殊名称或标记。目前我只是用其他字符或空字符串替换一堆已知的坏字符。例如,给定名称ABC/DEF*:ACompany?我将生成字符串ABC-DEF-ACompany。我对替换字符的选择完全是随意的,因为我不知道通用的转义符号。所以我的相关问题是:是否有一种方法(可能在boost文件系统中)可以告诉我名称是否严格引用没有路径的文件?是否有函数告诉我该名称是否“安全”用作文件(对于某些文件系统,这
我想在windows批处理程序中读取一个文件名。我正在尝试使用不同的方法但失败了请帮助。场景如下。我在一个文件夹中有不同的文件,但所有文件的文件名长度都相同。例如1000342578_30062011.PDF1000342329_30062011.PDF我只想将_之后和.PDF之前的部分(例如30062011)保存在一个变量中。以下只是尝试,但我无法通过。@echooffecho.Date:%date%echo.Year:%date:~10,4%dir/s/bC:\Users\zeeshando\Desktop\*.txtfor%%xin(c:\temp\*.xls)doecho%%x
假设传递的报告日期的日期月份部分没有前导零。通常它作为param1传递,但下面我为这个例子强制一个值。我想构建一个字符串,其中月份和年份是从传入的日期中提取的,并构建一个格式为YYYY_MM的字符串,其中MM具有前导零。REMSETReportingDate=%1SETReportingDate=7/31/2011@For/F"tokens=1,2,3delims=/"%%Ain("%ReportingDate%")do@(SetMonth=%%ASetDay=%%BSetYear=%%C)echoYear=%Year%echoMonth=%Month%SETNewFileName=M
我正在尝试使用计划任务备份我的MySQL数据库。备份SQL的命令是:mysqldump.exe-hlocalhost-urootdatabasename>databasebackup.sql我想做的是将当前日期添加到文件名中,使其成为databasebackup_2012-01-31.sql。更理想的是,我会将文件databasebackup_2012-01-31.sql压缩成一个zip文件databasebackup_2012-01-31.zip因为sql文件主要包含非常好的可压缩文本.压缩后,sql文件将被删除,只有zip文件保留备份。 最佳答案
我使用mkdir()通过PHP在波斯语和阿拉伯语中创建了一些目录。我想将文件夹移动到窗口中,但文件夹名称有问题。示例:我写了:“سلام”但在Windows中显示未知字符:“ط³غŒط³طھظ…ط¹ط§ظ…ظ„ط¬ظ„ط¯ط¯ظˆظ…"似乎应该转换成除UTF-8以外的其他编码抱歉,如果我的英语不是很好。谢谢。编辑:我使用了这个Powershell代码并为我工作:Get-ChildItem|ForEach-Object{$filename=Split-Path-Leaf$_$new=[Text.Encoding]::Utf8.GetString([Text.Encoding]::Defa
我在日文环境中使用日文版Windows7,不幸的是,我需要使用的许多文件和文件夹名称都使用日文字符。例如,我在.bat文件中有这一行:xcopy*"C:\blahblah\動作確認\"/E/R/K/Y/I但是,在C:\blahblah\文件夹中,这是我得到的文件夹的名称:C:\blahblah\蜍穂ス勤ココ隐构问题在于,Action确认已经被转化为侏穂ス勤コ隐构。后者,虽然它使用亚洲字符(和标点符号)是毫无意义的胡言乱语,甚至不是所有的日本字符。我研究了这个问题,发现许多使用Windows英文本地化版本的人都遇到了一个问题,即他们看到的是问号而不是日文字符。这不是我使用我的Window
我有一个包含1000多张图片的文件夹。所有图像名称都是这样的:{number}{number}{date}{name}{name2}1.jpg我需要一个批处理(.bat文件)脚本,它将创建一个包含图像{name}的文件夹,子文件夹包含{date}并移动文件。我尝试过set"folder1=!filename1:~20,25!"但我的第一个{number}和第二个{number}可以有3-4个字符,我无法创建规则.你能帮帮我吗? 最佳答案 for%%zin("c:\folder\*.jpg")dofor/f"tokens=3,4del