public void addString()//문자열 추가작업 { string name, head, tail; string addName = textBox1.Text;//추가할 문자 bool b; int count = radioButton_WholeList.Checked ? Fm.listView1.Items.Count : Fm.listView1.SelectedItems.Count; if (radioButton_AddString_Left.Checked)//문자열 앞에 추가 { for (int i = 0; i < count; i++) { ListViewItem item = radioButton_WholeList.Checked ? Fm.listView1.Items[i] : Fm.listView1.SelectedItems[i]; name = item.SubItems[1].Text; name = addName + name; item.SubItems[1].Text = name;//변경한 이름 적용 } } else if (radioButton_AddString_Right.Checked)//문자열 뒤에 추가 { for (int i = 0; i < count; i++) { ListViewItem item = radioButton_WholeList.Checked ? Fm.listView1.Items[i] : Fm.listView1.SelectedItems[i]; name = item.SubItems[1].Text; if (Fm.FileExistsCheck(item.SubItems[2].Text) == true)//파일일 경우 { b = name.Contains("."); if (b == true) //확장자 체크 { head = (name.Substring(0, name.LastIndexOf("."))); //확장자 앞 tail = (name.Substring(name.LastIndexOf("."))); //확장자 name = head + addName + tail; } else { name = name + addName; } } else if (Fm.FolderExistsCheck(item.SubItems[2].Text) == true)//폴더일 경우 { name = name + addName; } else { name = name + addName; } item.SubItems[1].Text = name;//변경한 이름 적용 } } else { MessageBox.Show("문자열을 추가할 위치를 선택해 주세요."); } }
public Form_Rename(Form_Main _form)//Form_Main 접근 허용 { InitializeComponent(); Fm = _form; bool b; if (Fm.listView1.SelectedItems.Count == 1) { ListView.SelectedListViewItemCollection items = Fm.listView1.SelectedItems; ListViewItem lvi = items[0]; string name = lvi.SubItems[1].Text; string name_change, extension; if (Fm.FileExistsCheck(lvi.SubItems[2].Text) == true) //파일 체크 { b = name.Contains("."); //확장자 체크 if (b == true) { name_change = (name.Substring(0, name.LastIndexOf("."))); //파일이름 extension = (name.Substring(name.LastIndexOf("."))); //확장자 } else { name_change = name; extension = ""; } } else if (Fm.FolderExistsCheck(lvi.SubItems[2].Text) == true)//폴더 체크 { b = false; name_change = name; extension = ""; } else { b = false; name_change = name; extension = ""; } label_Name.Text = name + "→"; //원래 이름 표시 label_extension.Text = extension; //확장자 표시 textBox1.Text = name_change; } }
private void button_Yes_Click(object sender, EventArgs e)//확인 버튼 { ListView.SelectedListViewItemCollection items = Fm.listView1.SelectedItems; ListViewItem lvi = items[0]; string name, extension; bool b; name = lvi.SubItems[1].Text; if (Fm.FileExistsCheck(lvi.SubItems[2].Text) == true) //파일 체크 { b = name.Contains("."); //확장자 체크 if (b == true) { extension = (name.Substring(name.LastIndexOf("."))); } else { extension = ""; } } else if (Fm.FolderExistsCheck(lvi.SubItems[2].Text) == true)//폴더 체크 { b = false; extension = ""; } else { b = false; extension = ""; } lvi.SubItems[1].Text = textBox1.Text + extension;//이름 변경 this.Close(); }
private void renaming() { string name, number, digit, between; int i_number, i_digit; bool b; if (textBox_Digit.Text.Length < 1)//빈칸일시 1로 지정 { textBox_Digit.Text = "1"; } if (textBox_StartNumber.Text.Length < 1)//빈칸일시 1로 지정 { textBox_StartNumber.Text = "1"; } if (textBox_Between.Text.Length < 1)//빈칸일시 공백으로 지정 { textBox_Between.Text = ""; } digit = textBox_Digit.Text; //자리수 number = textBox_StartNumber.Text; //시작숫자 between = textBox_Between.Text; //사이 추가 문자 i_number = int.Parse(number); i_digit = int.Parse(digit); if (radioButton_WholeList.Checked) //전체 목록 적용 { if (radioButton_Before.Checked) //앞에 추가 { for (int i = 0; i < Fm.listView1.Items.Count; i++) { int rising_num; //숫자 증가 string add_digit; //자리수 추가한 숫자 ListViewItem item = Fm.listView1.Items[i]; name = item.SubItems[1].Text; rising_num = i + i_number; add_digit = rising_num.ToString(); string digit_num = Convert.ToString(rising_num); if (i_digit - digit_num.Length > 0) { for (int j = i_digit - digit_num.Length; j > 0; j--)//자리수 만큼 앞에 0을 추가 { add_digit = "0" + add_digit; } } name = add_digit + between + name; item.SubItems[1].Text = name; } } else if (radioButton_After.Checked)//뒤에 추가 { for (int i = 0; i < Fm.listView1.Items.Count; i++) { int rising_num;//숫자 증가 string add_digit, head, tail; ListViewItem item = Fm.listView1.Items[i]; name = item.SubItems[1].Text; rising_num = i + i_number; add_digit = rising_num.ToString(); string digit_num = Convert.ToString(rising_num); if (i_digit - digit_num.Length > 0)//자리수 만큼 앞에 0을 추가 { for (int j = i_digit - digit_num.Length; j > 0; j--) { add_digit = "0" + add_digit; } } if (Fm.FileExistsCheck(item.SubItems[2].Text) == true)//파일일 경우 확장자 제거하고 진행 { b = name.Contains("."); if (b == true) { head = (name.Substring(0, name.LastIndexOf("."))); tail = (name.Substring(name.LastIndexOf("."))); name = head + between + add_digit + tail; } else { name = name + between + add_digit; } } else if (Fm.FolderExistsCheck(item.SubItems[2].Text) == true)//폴더일 경우 그냥진행 { b = false; name = name + between + add_digit; } else { b = false; name = name + between + add_digit; } item.SubItems[1].Text = name; } } else { MessageBox.Show("번호를 붙일 위치를 선택해주세요."); } } else if (radioButton_SelectedList.Checked) //선택된 것만 적용 { if (radioButton_Before.Checked) //앞에 추가 { for (int i = 0; i < Fm.listView1.SelectedItems.Count; i++) { int rising_num; //중가 숫자 string add_digit; //자릿수 추가된 숫자 ListViewItem lvi = Fm.listView1.SelectedItems[i]; name = lvi.SubItems[1].Text; rising_num = i + i_number; add_digit = rising_num.ToString(); string digit_num = Convert.ToString(rising_num); if (i_digit - digit_num.Length > 0) { for (int j = i_digit - digit_num.Length; j > 0; j--)//자릿수 만큼 0을 앞에 추가 { add_digit = "0" + add_digit; } } name = add_digit + between + name; lvi.SubItems[1].Text = name; } } else if (radioButton_After.Checked)//뒤에 추가 { for (int i = 0; i < Fm.listView1.SelectedItems.Count; i++) { int rising_num;//증가 숫자 string add_digit, head, tail; ListViewItem lvi = Fm.listView1.SelectedItems[i]; name = lvi.SubItems[1].Text; rising_num = i + i_number; add_digit = rising_num.ToString(); if (i_digit - number.Length > 0) { for (int j = i_digit - number.Length; j > 0; j--)//자릿수 만큼 앞에 0을 추가 { add_digit = "0" + add_digit; } } if (Fm.FileExistsCheck(lvi.SubItems[2].Text) == true)//파일일 경우 확장자 제거하고 추가 { b = name.Contains("."); if (b == true) { head = (name.Substring(0, name.LastIndexOf("."))); tail = (name.Substring(name.LastIndexOf("."))); name = head + between + add_digit + tail; } else { name = name + between + add_digit; } } else if (Fm.FolderExistsCheck(lvi.SubItems[2].Text) == true)//폴더일 경우 그냥 진행 { b = false; name = name + between + add_digit; } else { b = false; name = name + between + add_digit; } lvi.SubItems[1].Text = name; } } else { MessageBox.Show("번호를 붙일 위치를 선택해주세요."); } } }
private void replace() { string before_text, after_text, name, name_noex, head, tail; int fail_Count = 0; int fail_Number; string fail_List = ""; bool b, b_1, b_2; if (textBox_Before.Text.Length < 1)//입력 체크 { MessageBox.Show("바꿀 문자열을 입력해주세요."); } else { before_text = textBox_Before.Text; //작업 문자열 if (textBox_After.Text.Length < 1) //결과 문자열 입력없을시 공백으로 처리 { after_text = ""; } else { after_text = textBox_After.Text; } if (radioButton_WholeList.Checked)//전체 목록 { for (int i = 0; i < Fm.listView1.Items.Count; i++) { ListViewItem item = Fm.listView1.Items[i]; name = item.SubItems[1].Text; if (Fm.FileExistsCheck(item.SubItems[2].Text) == true) //파일 체크 { b = name.Contains("."); //확장자 체크 if (b == true) //확장자 분리 { name_noex = (name.Substring(0, name.LastIndexOf("."))); } else { name_noex = name; } } else if (Fm.FolderExistsCheck(item.SubItems[2].Text) == true)//폴더 체크 { b = false; name_noex = name; } else { b = false; name_noex = name; } b_1 = name_noex.Contains(before_text); if (b_1 == false)//작업할 문자열이 없는경우 오류체크 { fail_Count++; fail_Number = i + 1; if (fail_Count > 1) { fail_List = fail_List + ", " + fail_Number.ToString(); } else if (fail_Count == 1) { fail_List = fail_Number.ToString(); } else { MessageBox.Show("error"); } } else { if (radioButton_All.Checked)//전부 적용 체크시 { //string body = ""; //b_2 = true; //for (; b_2 == true;)//바꿀 파일은 따로 분리하여 같은 문자열이 포함된 이름으로 바꿀시 무한루프 가능성 제거 //{ // head = (name_noex.Substring(0, name_noex.IndexOf(before_text))); // tail = (name_noex.Substring(name_noex.IndexOf(before_text) + before_text.Length)); // name_noex = head + after_text + tail; // body = body + (name_noex.Substring(0, name_noex.IndexOf(after_text) + after_text.Length)); // name_noex = (name_noex.Substring(name_noex.IndexOf(after_text) + after_text.Length)); // b_2 = name_noex.Contains(before_text); //} name_noex = name_noex.Replace(before_text, after_text); //name_noex = body + name_noex; } else if (radioButton_Front.Checked)//앞에 하나만 적용할시 { head = (name_noex.Substring(0, name_noex.IndexOf(before_text))); tail = (name_noex.Substring(name_noex.IndexOf(before_text) + before_text.Length)); name_noex = head + after_text + tail; } else if (radioButton_Lear.Checked)//맨 뒤 하나만 적용할시 { head = (name_noex.Substring(0, name_noex.LastIndexOf(before_text))); tail = (name_noex.Substring(name_noex.LastIndexOf(before_text) + before_text.Length)); name_noex = head + after_text + tail; } } if (b == true)//확장자가 있을경우 다시 추가 { name = name_noex + (name.Substring(name.LastIndexOf("."))); } else { name = name_noex; } item.SubItems[1].Text = name; } if (fail_Count > 0) { MessageBox.Show(fail_Count + "개의 항목에 입력한 문자열이 존재하지 않았습니다.\n" + fail_List + "번째 항목이 변경되지 않았습니다."); } } //아래코드 선택된 목록 처리 제외하곤 모두 동일 else if (radioButton_SelectedList.Checked)//선택한 목록만 적용 { for (int i = 0; i < Fm.listView1.SelectedItems.Count; i++) { ListViewItem lvi = Fm.listView1.SelectedItems[i]; name = lvi.SubItems[1].Text; if (Fm.FileExistsCheck(lvi.SubItems[2].Text) == true) { b = name.Contains("."); if (b == true) { name_noex = (name.Substring(0, name.LastIndexOf("."))); } else { name_noex = name; } } else if (Fm.FolderExistsCheck(lvi.SubItems[2].Text) == true) { b = false; name_noex = name; } else { b = false; name_noex = name; } b_1 = name_noex.Contains(before_text); if (b_1 == false) { fail_Count++; fail_Number = i + 1; if (fail_Count > 1) { fail_List = fail_List + ", " + fail_Number.ToString(); } else if (fail_Count == 1) { fail_List = fail_Number.ToString(); } else { MessageBox.Show("error"); } } else { if (radioButton_All.Checked) { //string body = ""; //b_2 = true; //for (; b_2 == true;) //{ // head = (name_noex.Substring(0, name_noex.IndexOf(before_text))); // tail = (name_noex.Substring(name_noex.IndexOf(before_text) + before_text.Length)); // name_noex = head + after_text + tail; // body = body + (name_noex.Substring(0, name_noex.IndexOf(after_text) + after_text.Length)); // name_noex = (name_noex.Substring(name_noex.IndexOf(after_text) + after_text.Length)); // b_2 = name_noex.Contains(before_text); //} name_noex = name_noex.Replace(before_text, after_text); //name_noex = body + name_noex; } else if (radioButton_Front.Checked) { head = (name_noex.Substring(0, name_noex.IndexOf(before_text))); tail = (name_noex.Substring(name_noex.IndexOf(before_text) + before_text.Length)); name_noex = head + after_text + tail; } else if (radioButton_Lear.Checked) { head = (name_noex.Substring(0, name_noex.LastIndexOf(before_text))); tail = (name_noex.Substring(name_noex.LastIndexOf(before_text) + before_text.Length)); name_noex = head + after_text + tail; } } if (b == true) { name = name_noex + (name.Substring(name.LastIndexOf("."))); } else { name = name_noex; } lvi.SubItems[1].Text = name; } if (fail_Count > 0) { MessageBox.Show(fail_Count + "개의 항목에 입력한 문자열이 존재하지 않았습니다.\n" + "선택된 항목 중 " + fail_List + "번째 항목이 변경되지 않았습니다."); } } } }