2019年11月21日 星期四
2019年6月28日 星期五
[CMD] windows 批次刪除特定日期區間的檔案
資料來源 https://blog.darkthread.net/blog/forfiles/
#取得日期
for /F "tokens=1-4 delims=/ " %%a IN ("%date%") DO (
set _year=%%a
set _month=%%b
set _day=%%c
set _week=%%d
set _today=%%a%%b%%c
)
#顯示年,例:2019
echo %_year%
#顯示月,例:03
echo %_month%
#顯示日,例:30
echo %_day%
#顯示星期幾,例:週二
echo %_week%
#顯示今天日期,例:20150330
echo %_today%
#取得日期
for /F "tokens=1-4 delims=/ " %%a IN ("%date%") DO (
set _year=%%a
set _month=%%b
set _day=%%c
set _week=%%d
set _today=%%a%%b%%c
)
#顯示年,例:2019
echo %_year%
#顯示月,例:03
echo %_month%
#顯示日,例:30
echo %_day%
#顯示星期幾,例:週二
echo %_week%
#顯示今天日期,例:20150330
echo %_today%
2019年4月25日 星期四
C# 執行vbs語法
Thread executionThread = new Thread(new ParameterizedThreadStart(RunPrograms));
ProcessStartInfo startInfo = new ProcessStartInfo(ProgramPath);
startInfo.Arguments = ProgramArguments;
startInfo.UseShellExecute = false;
startInfo.RedirectStandardInput = false;
ExecutionInstance executionInstance = new ExecutionInstance(startInfo, FilePath);
executionThread.Start(executionInstance);
Log.WriteToLog("Info", "Added program to execute \"{0}\" argument \"{1}\".", ProgramPath, ProgramArguments);
public static void RunPrograms(object source)
{
try
{
bool success = false;
int retries = 100;
ExecutionInstance executionInstance = (ExecutionInstance)source;
FileStream fileStream = null;
while (!success)
{
try
{
fileStream = File.Open(executionInstance.FilePath, FileMode.Open, FileAccess.Read, FileShare.None);
success = true;
}
catch (Exception ex)
{
Log.WriteToLog("Error", "Unhandled exception occurred while waiting for \"{0}\" to become available. Type: {1} Message: {2}", executionInstance.FilePath, ex.GetType().FullName, ex.Message);
Thread.Sleep(1000);
if (--retries == 0)
{
Log.WriteToLog("Error", "Exception occurred while opening the file. File: {0} Message: {1}", executionInstance.FilePath, ex.Message);
break;
}
}
}
fileStream.Close();
try
{
Log.WriteToLog("Info", "Running program in response to event for {2}: {0}{1}.", executionInstance.StartInfo.FileName, (executionInstance.StartInfo.Arguments != "" ? " " + executionInstance.StartInfo.Arguments : ""), executionInstance.FilePath);
Process executionProcess = Process.Start(executionInstance.StartInfo);
executionProcess.WaitForExit();
executionProcess.Close();
string path = Path.GetDirectoryName(executionInstance.FilePath);
string[] filePaths = Directory.GetFiles(path);
string file = Path.GetFileName(executionInstance.FilePath);
}
catch (Exception ex)
{
Log.WriteToLog("Error", "Exception occurred while running {0}. Type: {1} Message: {2}", (executionInstance.StartInfo != null ? "\"" + executionInstance.StartInfo.FileName + "\"" : ""), ex.GetType().FullName, ex.Message);
}
}
catch (Exception ex)
{
Log.WriteToLog("Error", "Exception occurred. Type: {0} Message: {1}", ex.GetType().FullName, ex.Message);
}
}
ProcessStartInfo startInfo = new ProcessStartInfo(ProgramPath);
startInfo.Arguments = ProgramArguments;
startInfo.UseShellExecute = false;
startInfo.RedirectStandardInput = false;
ExecutionInstance executionInstance = new ExecutionInstance(startInfo, FilePath);
executionThread.Start(executionInstance);
Log.WriteToLog("Info", "Added program to execute \"{0}\" argument \"{1}\".", ProgramPath, ProgramArguments);
public static void RunPrograms(object source)
{
try
{
bool success = false;
int retries = 100;
ExecutionInstance executionInstance = (ExecutionInstance)source;
FileStream fileStream = null;
while (!success)
{
try
{
fileStream = File.Open(executionInstance.FilePath, FileMode.Open, FileAccess.Read, FileShare.None);
success = true;
}
catch (Exception ex)
{
Log.WriteToLog("Error", "Unhandled exception occurred while waiting for \"{0}\" to become available. Type: {1} Message: {2}", executionInstance.FilePath, ex.GetType().FullName, ex.Message);
Thread.Sleep(1000);
if (--retries == 0)
{
Log.WriteToLog("Error", "Exception occurred while opening the file. File: {0} Message: {1}", executionInstance.FilePath, ex.Message);
break;
}
}
}
fileStream.Close();
try
{
Log.WriteToLog("Info", "Running program in response to event for {2}: {0}{1}.", executionInstance.StartInfo.FileName, (executionInstance.StartInfo.Arguments != "" ? " " + executionInstance.StartInfo.Arguments : ""), executionInstance.FilePath);
Process executionProcess = Process.Start(executionInstance.StartInfo);
executionProcess.WaitForExit();
executionProcess.Close();
string path = Path.GetDirectoryName(executionInstance.FilePath);
string[] filePaths = Directory.GetFiles(path);
string file = Path.GetFileName(executionInstance.FilePath);
}
catch (Exception ex)
{
Log.WriteToLog("Error", "Exception occurred while running {0}. Type: {1} Message: {2}", (executionInstance.StartInfo != null ? "\"" + executionInstance.StartInfo.FileName + "\"" : ""), ex.GetType().FullName, ex.Message);
}
}
catch (Exception ex)
{
Log.WriteToLog("Error", "Exception occurred. Type: {0} Message: {1}", ex.GetType().FullName, ex.Message);
}
}
用C# 執行command語法
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = ProgramPath;
p.StartInfo.WorkingDirectory = @"D:\";
p.StartInfo.Arguments = ProgramArguments + FilePath;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
//Log.WriteToLog("Info", "filename=" + p.StartInfo.FileName + ", Arguments=" + p.StartInfo.Arguments);
Log.WriteToLog("Info", "Added program to execute \"{0}\" argument \"{1}\".", p.StartInfo.FileName, p.StartInfo.Arguments);
p.Start();
using (StreamReader myStreamReader = p.StandardOutput)
{
string result = myStreamReader.ReadToEnd();
p.WaitForExit();
p.Close();
Log.WriteToLog("Info", "relation import finished!");
}
p.StartInfo.FileName = ProgramPath;
p.StartInfo.WorkingDirectory = @"D:\";
p.StartInfo.Arguments = ProgramArguments + FilePath;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
//Log.WriteToLog("Info", "filename=" + p.StartInfo.FileName + ", Arguments=" + p.StartInfo.Arguments);
Log.WriteToLog("Info", "Added program to execute \"{0}\" argument \"{1}\".", p.StartInfo.FileName, p.StartInfo.Arguments);
p.Start();
using (StreamReader myStreamReader = p.StandardOutput)
{
string result = myStreamReader.ReadToEnd();
p.WaitForExit();
p.Close();
Log.WriteToLog("Info", "relation import finished!");
}
2018年8月7日 星期二
[CMD] 批次語法檢查檔案大小
set file="test.cmd"set maxbytesize=1000FOR /F "usebackq" %%A IN ('%file%') DO set size=%%~zAif %size% LSS %maxbytesize% ( echo.File is ^< %maxbytesize% bytes) ELSE ( echo.File is ^>= %maxbytesize% bytes)
delfile.bat:
FOR %%F IN ("C:\abc\a*b") DO (IF %%~zF LSS 1 del %%F)
如果要用另一個bat去呼叫,前面不用加 call
EQU – 等於
NEQ – 不等於
LSS – 小於
LEQ – 小於或等於
GTR – 大於
GEQ – 大於或等於
參考:http://fly-dolphin.blogspot.com/2012/02/blog-post.htmlhttp://white5168.blogspot.com/2012/09/batch-if.html#.W2lDiNIzbIUhttp://kukuso1983.blogspot.com/2010/09/0-setp1.html
訂閱:
文章 (Atom)